You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2009/05/15 23:11:35 UTC
svn commit: r775345 -
/myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/webapp/webxml/WebXml.java
Author: lu4242
Date: Fri May 15 21:11:35 2009
New Revision: 775345
URL: http://svn.apache.org/viewvc?rev=775345&view=rev
Log:
MYFACES-2165 concurrent issue in initializing myfaces 1.1.6
Modified:
myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/webapp/webxml/WebXml.java
Modified: myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/webapp/webxml/WebXml.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/webapp/webxml/WebXml.java?rev=775345&r1=775344&r2=775345&view=diff
==============================================================================
--- myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/webapp/webxml/WebXml.java (original)
+++ myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/webapp/webxml/WebXml.java Fri May 15 21:11:35 2009
@@ -43,8 +43,8 @@
private Map _filters = new HashMap();
private Map _filterMappings = new HashMap();
- private List _facesServletMappings = null;
- private List _facesExtensionsFilterMappings = null;
+ private volatile List _facesServletMappings = null;
+ private volatile List _facesExtensionsFilterMappings = null;
private String _delegateFacesServlet = null;
@@ -108,7 +108,7 @@
{
if (_facesServletMappings != null) return _facesServletMappings;
- _facesServletMappings = new ArrayList();
+ List tempFacesServletMappings = new ArrayList();
for (Iterator it = _servlets.entrySet().iterator(); it.hasNext(); )
{
Map.Entry entry = (Map.Entry)it.next();
@@ -134,7 +134,7 @@
for (Iterator it2 = urlPatterns.iterator(); it2.hasNext(); )
{
String urlpattern = (String)it2.next();
- _facesServletMappings.add(new org.apache.myfaces.shared.webapp.webxml.ServletMapping(servletName,
+ tempFacesServletMappings.add(new org.apache.myfaces.shared.webapp.webxml.ServletMapping(servletName,
servletClass,
urlpattern));
if (log.isTraceEnabled())
@@ -147,6 +147,10 @@
if (log.isTraceEnabled()) log.trace("ignoring servlet + " + servletName + " " + servletClass + " (no FacesServlet)");
}
}
+
+ //Expose to all threads
+ _facesServletMappings = tempFacesServletMappings;
+
return _facesServletMappings;
}
@@ -158,7 +162,7 @@
{
if (_facesExtensionsFilterMappings != null) return _facesExtensionsFilterMappings;
- _facesExtensionsFilterMappings = new ArrayList();
+ List tempExtensionsFilterMappings = new ArrayList();
for (Iterator it = _filters.entrySet().iterator(); it.hasNext(); )
{
Map.Entry entry = (Map.Entry)it.next();
@@ -179,13 +183,17 @@
for (Iterator it2 = urlPatterns.iterator(); it2.hasNext(); )
{
String urlpattern = (String)it2.next();
- _facesExtensionsFilterMappings.add(new org.apache.myfaces.shared.webapp.webxml.FilterMapping(
+ tempExtensionsFilterMappings.add(new org.apache.myfaces.shared.webapp.webxml.FilterMapping(
filterName, filterClass, urlpattern));
if (log.isTraceEnabled())
log.trace("adding mapping for filter + " + filterName + " urlpattern = " + urlpattern);
}
}
}
+
+ //Expose to all threads
+ _facesExtensionsFilterMappings = tempExtensionsFilterMappings;
+
return _facesExtensionsFilterMappings;
}