3939import java .io .File ;
4040import java .io .FilenameFilter ;
4141import java .text .MessageFormat ;
42- import java .util .ArrayList ;
43- import java .util .List ;
44- import java .util .Locale ;
45- import java .util .Properties ;
42+ import java .util .*;
4643import java .util .concurrent .Callable ;
4744import java .util .concurrent .ConcurrentHashMap ;
4845import java .util .concurrent .ConcurrentMap ;
@@ -65,6 +62,7 @@ public class PluginAwareResourceBundleMessageSource extends ReloadableResourceBu
6562 private long pluginCacheMillis = Long .MIN_VALUE ;
6663 private boolean searchClasspath = false ;
6764 private String messageBundleLocationPattern = "classpath*:*.properties" ;
65+ String [] basenamesDefinition = {};
6866
6967 public PluginAwareResourceBundleMessageSource () {
7068 }
@@ -86,6 +84,12 @@ public void setResourceResolver(PathMatchingResourcePatternResolver resourceReso
8684 this .resourceResolver = resourceResolver ;
8785 }
8886
87+ @ Override
88+ public void setBasenames (String ... basenames ){
89+ basenamesDefinition = basenames ;
90+ super .setBasenames (basenames );
91+ }
92+
8993 public void afterPropertiesSet () throws Exception {
9094 if (pluginCacheMillis == Long .MIN_VALUE ) {
9195 pluginCacheMillis = cacheMillis ;
@@ -148,8 +152,10 @@ public boolean accept(File dir, String name) {
148152 basenames .add (baseName );
149153 }
150154
151- setBasenames (basenames .toArray ( new String [basenames .size ()]));
152-
155+ List <String > mergedBasenames = Arrays .asList (basenamesDefinition );
156+ basenames .removeAll (mergedBasenames );
157+ mergedBasenames .addAll (basenames );
158+ super .setBasenames (mergedBasenames .toArray (new String [0 ]));
153159 }
154160
155161
0 commit comments