Index: jetspeed-2/components/portal-site/src/java/org/apache/jetspeed/portalsite/impl/PortalSiteRequestContextImpl.java =================================================================== --- jetspeed-2/components/portal-site/src/java/org/apache/jetspeed/portalsite/impl/PortalSiteRequestContextImpl.java (revision 479959) +++ jetspeed-2/components/portal-site/src/java/org/apache/jetspeed/portalsite/impl/PortalSiteRequestContextImpl.java (working copy) @@ -22,6 +22,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import java.util.Collections; import org.apache.jetspeed.om.folder.Folder; import org.apache.jetspeed.om.folder.MenuDefinition; @@ -413,7 +414,7 @@ if (locators != null) { // get custom definition names - pageMenuDefinitionNames = new HashSet(locators.size()); + pageMenuDefinitionNames = Collections.synchronizedSet(new HashSet(locators.size())); Iterator locatorsIter = locators.iterator(); while (locatorsIter.hasNext()) { @@ -427,7 +428,7 @@ } else { - pageMenuDefinitionNames = new HashSet(0); + pageMenuDefinitionNames = Collections.synchronizedSet(new HashSet(0)); } } return pageMenuDefinitionNames; @@ -508,7 +509,7 @@ // cache relative menu for request if (menuDefinitionLocatorCache == null) { - menuDefinitionLocatorCache = new HashMap(8); + menuDefinitionLocatorCache = Collections.synchronizedMap(new HashMap(8)); } menuDefinitionLocatorCache.put(locator, menu); } @@ -517,7 +518,7 @@ // cache absolute menu for session if (sessionContext.getMenuDefinitionLocatorCache() == null) { - sessionContext.setMenuDefinitionLocatorCache(new HashMap(8)); + sessionContext.setMenuDefinitionLocatorCache(Collections.synchronizedMap(new HashMap(8))); } sessionContext.getMenuDefinitionLocatorCache().put(locator, menu); }