commit | f43c78ccde2fe8c642818688ad7e1e6cb7c676b0 | [log] [tgz] |
---|---|---|
author | Michael Semb Wever <mck@apache.org> | Wed Jul 13 12:13:34 2016 +0000 |
committer | Michael Semb Wever <mck@apache.org> | Wed Jul 13 12:13:34 2016 +0000 |
tree | 0a276d874ddd8b8f7fa29a249189f8307e8e4ea4 | |
parent | d58f14957e8c6cf440f7b67a2f729ba340875246 [diff] |
TILES-585 – Definition cascade attributes duplicated values under high load Fix by Jakub Dziworski - jakub.dziworski@gmail.com This closes #9 ref: https://github.com/apache/tiles/pull/9/commits/78d9001ea5d0b02523ada36453848125d80ec6e3 git-svn-id: https://svn.apache.org/repos/asf/tiles/framework/branches/TILES_3_0_X@1752405 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/tiles-core/src/main/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAO.java b/tiles-core/src/main/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAO.java index cee95a3..20f13db 100644 --- a/tiles-core/src/main/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAO.java +++ b/tiles-core/src/main/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAO.java
@@ -167,6 +167,11 @@ * @since 2.1.0 */ protected synchronized Map<String, Definition> checkAndloadDefinitions(Locale customizationKey) { + Map<String, Definition> existingDefinitions = locale2definitionMap.get(customizationKey); + boolean definitionsAlreadyLoaded = existingDefinitions != null; + if (definitionsAlreadyLoaded) { + return existingDefinitions; + } if (checkRefresh && refreshRequired()) { locale2definitionMap.clear(); definitionResolver.clearPatternPaths(customizationKey);