Skip to content

Commit 2bb3522

Browse files
committed
ReloadableResourceBundleMessageSource sets file timestamp on merged holder
Issue: SPR-14583 (cherry picked from commit 03468fd)
1 parent 8f4ec35 commit 2bb3522

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

spring-context/src/main/java/org/springframework/context/support/ReloadableResourceBundleMessageSource.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ protected PropertiesHolder getMergedProperties(Locale locale) {
237237
return mergedHolder;
238238
}
239239
Properties mergedProps = newProperties();
240-
mergedHolder = new PropertiesHolder(mergedProps, -1);
240+
long latestTimestamp = -1;
241241
String[] basenames = StringUtils.toStringArray(getBasenameSet());
242242
for (int i = basenames.length - 1; i >= 0; i--) {
243243
List<String> filenames = calculateAllFilenames(basenames[i], locale);
@@ -246,9 +246,13 @@ protected PropertiesHolder getMergedProperties(Locale locale) {
246246
PropertiesHolder propHolder = getProperties(filename);
247247
if (propHolder.getProperties() != null) {
248248
mergedProps.putAll(propHolder.getProperties());
249+
if (propHolder.getFileTimestamp() > latestTimestamp) {
250+
latestTimestamp = propHolder.getFileTimestamp();
251+
}
249252
}
250253
}
251254
}
255+
mergedHolder = new PropertiesHolder(mergedProps, latestTimestamp);
252256
PropertiesHolder existing = this.cachedMergedProperties.putIfAbsent(locale, mergedHolder);
253257
if (existing != null) {
254258
mergedHolder = existing;

0 commit comments

Comments
 (0)