|
|
@ -237,7 +237,7 @@ public class ReloadableResourceBundleMessageSource extends AbstractResourceBased |
|
|
|
return mergedHolder; |
|
|
|
return mergedHolder; |
|
|
|
} |
|
|
|
} |
|
|
|
Properties mergedProps = newProperties(); |
|
|
|
Properties mergedProps = newProperties(); |
|
|
|
mergedHolder = new PropertiesHolder(mergedProps, -1); |
|
|
|
long latestTimestamp = -1; |
|
|
|
String[] basenames = StringUtils.toStringArray(getBasenameSet()); |
|
|
|
String[] basenames = StringUtils.toStringArray(getBasenameSet()); |
|
|
|
for (int i = basenames.length - 1; i >= 0; i--) { |
|
|
|
for (int i = basenames.length - 1; i >= 0; i--) { |
|
|
|
List<String> filenames = calculateAllFilenames(basenames[i], locale); |
|
|
|
List<String> filenames = calculateAllFilenames(basenames[i], locale); |
|
|
@ -246,9 +246,13 @@ public class ReloadableResourceBundleMessageSource extends AbstractResourceBased |
|
|
|
PropertiesHolder propHolder = getProperties(filename); |
|
|
|
PropertiesHolder propHolder = getProperties(filename); |
|
|
|
if (propHolder.getProperties() != null) { |
|
|
|
if (propHolder.getProperties() != null) { |
|
|
|
mergedProps.putAll(propHolder.getProperties()); |
|
|
|
mergedProps.putAll(propHolder.getProperties()); |
|
|
|
|
|
|
|
if (propHolder.getFileTimestamp() > latestTimestamp) { |
|
|
|
|
|
|
|
latestTimestamp = propHolder.getFileTimestamp(); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
mergedHolder = new PropertiesHolder(mergedProps, latestTimestamp); |
|
|
|
PropertiesHolder existing = this.cachedMergedProperties.putIfAbsent(locale, mergedHolder); |
|
|
|
PropertiesHolder existing = this.cachedMergedProperties.putIfAbsent(locale, mergedHolder); |
|
|
|
if (existing != null) { |
|
|
|
if (existing != null) { |
|
|
|
mergedHolder = existing; |
|
|
|
mergedHolder = existing; |
|
|
|