ReloadableResourceBundleMessageSource sets file timestamp on merged holder
Issue: SPR-14583
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user