Author: mck
Date: Wed Jul 13 12:19:30 2016
New Revision: 1752407

URL: http://svn.apache.org/viewvc?rev=1752407&view=rev
Log:
forward port commit 1752405 to trunk using
    svn merge -c1752405 ^/tiles/framework/branches/TILES_3_0_X .

TILES-585 – Definition cascade attributes duplicated values under high load

Modified:
    tiles/framework/trunk/   (props changed)
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAO.java

Propchange: tiles/framework/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Jul 13 12:19:30 2016
@@ -1,2 +1,2 @@
-/tiles/framework/branches/TILES_3_0_X:1486577,1538333,1539385,1539481-1541580,1543135,1571643,1594481-1626663,1706314
+/tiles/framework/branches/TILES_3_0_X:1486577,1538333,1539385,1539481-1541580,1543135,1571643,1594481-1626663,1706314,1752405
 
/tiles/framework/trunk:829356,836356,880940,880948,887758,900938-902966,904552,921998,931637,949559,950449,982366-982367,989864-990230,996297,1042419,1061995,1080544,1080580-1081105

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAO.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAO.java?rev=1752407&r1=1752406&r2=1752407&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAO.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/definition/dao/CachingLocaleUrlDefinitionDAO.java
 Wed Jul 13 12:19:30 2016
@@ -167,6 +167,11 @@ public class CachingLocaleUrlDefinitionD
      * @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);


Reply via email to