You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by db...@apache.org on 2011/05/09 22:11:42 UTC
svn commit: r1101200 -
/geronimo/server/trunk/plugins/openwebbeans/geronimo-openwebbeans/src/main/java/org/apache/geronimo/openwebbeans/WebBeansConfigurationListener.java
Author: dblevins
Date: Mon May 9 20:11:41 2011
New Revision: 1101200
URL: http://svn.apache.org/viewvc?rev=1101200&view=rev
Log:
Kevan's patch, GERONIMO-5896: ContextNotActiveException running JCDI TCK
Modified:
geronimo/server/trunk/plugins/openwebbeans/geronimo-openwebbeans/src/main/java/org/apache/geronimo/openwebbeans/WebBeansConfigurationListener.java
Modified: geronimo/server/trunk/plugins/openwebbeans/geronimo-openwebbeans/src/main/java/org/apache/geronimo/openwebbeans/WebBeansConfigurationListener.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openwebbeans/geronimo-openwebbeans/src/main/java/org/apache/geronimo/openwebbeans/WebBeansConfigurationListener.java?rev=1101200&r1=1101199&r2=1101200&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openwebbeans/geronimo-openwebbeans/src/main/java/org/apache/geronimo/openwebbeans/WebBeansConfigurationListener.java (original)
+++ geronimo/server/trunk/plugins/openwebbeans/geronimo-openwebbeans/src/main/java/org/apache/geronimo/openwebbeans/WebBeansConfigurationListener.java Mon May 9 20:11:41 2011
@@ -61,12 +61,16 @@ public class WebBeansConfigurationListen
protected FailOverService failoverService;
/**Manages the container lifecycle*/
+ protected ContainerLifecycle lifeCycle = null;
protected WebBeansContext webBeansContext;
+
/**
* Default constructor
*/
public WebBeansConfigurationListener()
{
+ this.webBeansContext = WebBeansContext.getInstance();
+ this.failoverService = webBeansContext.getService(FailOverService.class);
}
@@ -75,8 +79,20 @@ public class WebBeansConfigurationListen
*/
public void contextInitialized(ServletContextEvent event)
{
- this.webBeansContext = WebBeansContext.getInstance();
- this.failoverService = webBeansContext.getService(FailOverService.class);
+ try
+ {
+ this.lifeCycle = webBeansContext.getService(ContainerLifecycle.class);
+ if (lifeCycle instanceof org.apache.webbeans.web.lifecycle.WebContainerLifecycle) {
+ this.lifeCycle.startApplication(event);
+ } else {
+ this.lifeCycle = null;
+ }
+ }
+ catch (Exception e)
+ {
+ logger.error(OWBLogConst.ERROR_0018, event.getServletContext().getContextPath());
+ WebBeansUtil.throwRuntimeExceptions(e);
+ }
}
@@ -85,7 +101,10 @@ public class WebBeansConfigurationListen
*/
public void contextDestroyed(ServletContextEvent event)
{
- this.webBeansContext.getService(ContainerLifecycle.class).stopApplication(event);
+ if (this.lifeCycle != null) {
+ this.lifeCycle.stopApplication(event);
+ this.lifeCycle = null;
+ }
this.webBeansContext = null;
}
@@ -100,7 +119,7 @@ public class WebBeansConfigurationListen
}
if (failoverService != null &&
- failoverService.isSupportFailOver())
+ failoverService.isSupportFailOver())
{
Object request = event.getServletRequest();
if(request instanceof HttpServletRequest)
@@ -121,7 +140,9 @@ public class WebBeansConfigurationListen
elStore.destroyELContextStore();
}
- this.webBeansContext.getContextsService().endContext(RequestScoped.class, event);
+ if (this.lifeCycle != null) {
+ this.lifeCycle.getContextService().endContext(RequestScoped.class, event);
+ }
this.cleanupRequestThreadLocals();
}