You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by kn...@apache.org on 2007/04/25 02:29:04 UTC
svn commit: r532156 -
/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java
Author: knopp
Date: Tue Apr 24 17:29:03 2007
New Revision: 532156
URL: http://svn.apache.org/viewvc?view=rev&rev=532156
Log:
usedPageMaps locking
Modified:
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java
Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java?view=diff&rev=532156&r1=532155&r2=532156
==============================================================================
--- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java (original)
+++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java Tue Apr 24 17:29:03 2007
@@ -850,10 +850,13 @@
{
// Check that session doesn't have too many page maps already
final int maxPageMaps = getApplication().getSessionSettings().getMaxPageMaps();
- if (usedPageMaps.size() >= maxPageMaps)
+ synchronized(usedPageMaps)
{
- IPageMap pm = (IPageMap)usedPageMaps.getFirst();
- pm.remove();
+ if (usedPageMaps.size() >= maxPageMaps)
+ {
+ IPageMap pm = (IPageMap)usedPageMaps.getFirst();
+ pm.remove();
+ }
}
// Create new page map
@@ -892,7 +895,12 @@
PageMapAccessMetaData pagemapMetaData = (PageMapAccessMetaData)getMetaData(PAGEMAP_ACCESS_MDK);
if (pagemapMetaData != null)
pagemapMetaData.pageMapNames.remove(pageMap.getName());
- usedPageMaps.remove(pageMap);
+
+ synchronized (usedPageMaps)
+ {
+ usedPageMaps.remove(pageMap);
+ }
+
removeAttribute(attributeForPageMapName(pageMap.getName()));
dirty();
}
@@ -1258,8 +1266,11 @@
{
if (!map.isDefault())
{
- usedPageMaps.remove(map);
- usedPageMaps.addLast(map);
+ synchronized (usedPageMaps)
+ {
+ usedPageMaps.remove(map);
+ usedPageMaps.addLast(map);
+ }
}
List dirtyObjects = getDirtyObjectsList();
if (!dirtyObjects.contains(map))