From 78d9001ea5d0b02523ada36453848125d80ec6e3 Mon Sep 17 00:00:00 2001 From: Jakub Dziworski Date: Wed, 29 Jun 2016 08:41:02 +0200 Subject: [PATCH] TILES-585: Definition cascade attributes duplicated values under high load --- .../tiles/definition/dao/CachingLocaleUrlDefinitionDAO.java | 5 +++++ 1 file changed, 5 insertions(+) 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 cee95a3b9..20f13db8d 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 @@ protected Definition getDefinitionFromResolver(String name, * @since 2.1.0 */ protected synchronized Map checkAndloadDefinitions(Locale customizationKey) { + Map existingDefinitions = locale2definitionMap.get(customizationKey); + boolean definitionsAlreadyLoaded = existingDefinitions != null; + if (definitionsAlreadyLoaded) { + return existingDefinitions; + } if (checkRefresh && refreshRequired()) { locale2definitionMap.clear(); definitionResolver.clearPatternPaths(customizationKey);