[jboss-cvs] JBossAS SVN: r105928 - trunk/weld-int/webtier/src/main/java/org/jboss/weld/integration/webtier/jsf.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jun 10 10:23:16 EDT 2010
Author: marius.bogoevici
Date: 2010-06-10 10:23:16 -0400 (Thu, 10 Jun 2010)
New Revision: 105928
Modified:
trunk/weld-int/webtier/src/main/java/org/jboss/weld/integration/webtier/jsf/WeldApplication.java
Log:
JBAS-8035: JSF not working with Weld Deployer
Modified: trunk/weld-int/webtier/src/main/java/org/jboss/weld/integration/webtier/jsf/WeldApplication.java
===================================================================
--- trunk/weld-int/webtier/src/main/java/org/jboss/weld/integration/webtier/jsf/WeldApplication.java 2010-06-10 14:03:42 UTC (rev 105927)
+++ trunk/weld-int/webtier/src/main/java/org/jboss/weld/integration/webtier/jsf/WeldApplication.java 2010-06-10 14:23:16 UTC (rev 105928)
@@ -52,9 +52,9 @@
private final Application application;
- private ExpressionFactory expressionFactory;
+ private volatile ExpressionFactory expressionFactory;
private AdjustableELResolver elResolver;
- private boolean intialized;
+ private volatile boolean initialized;
public WeldApplication(Application application)
{
@@ -67,10 +67,10 @@
private void init()
{
- if (!intialized && beanManager() != null)
+ if (!initialized && beanManager() != null)
{
elResolver.setDelegate(beanManager().getELResolver());
- this.expressionFactory = beanManager().wrapExpressionFactory(application.getExpressionFactory());
+ initialized = true;
}
}
@@ -85,6 +85,11 @@
public ExpressionFactory getExpressionFactory()
{
init();
+ // may be improved for thread safety, but right now the only risk is to invoke wrapExpressionFactory
+ // multiple times for concurrent threads. This is ok, as the call is
+ if (expressionFactory == null) {
+ expressionFactory = beanManager().wrapExpressionFactory(application.getExpressionFactory());
+ }
return expressionFactory;
}
More information about the jboss-cvs-commits
mailing list