Author: rmannibucau
Date: Mon Aug 20 17:33:18 2012
New Revision: 1375124

URL: http://svn.apache.org/viewvc?rev=1375124&view=rev
Log:
if no conversation service is present no need to manage conversation

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java?rev=1375124&r1=1375123&r2=1375124&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java
 Mon Aug 20 17:33:18 2012
@@ -25,6 +25,7 @@ import org.apache.webbeans.conversation.
 import org.apache.webbeans.conversation.ConversationManager;
 import org.apache.webbeans.el.ELContextStore;
 import org.apache.webbeans.spi.ContextsService;
+import org.apache.webbeans.spi.ConversationService;
 import org.apache.webbeans.web.context.ServletRequestContext;
 import org.apache.webbeans.web.context.SessionContextManager;
 import org.apache.webbeans.web.intercept.RequestScopedBeanInterceptorHandler;
@@ -64,6 +65,9 @@ public class CdiAppContextsService exten
 
     public CdiAppContextsService(WebBeansContext wbc, boolean 
supportsConversation) {
         webBeansContext = wbc;
+        if (wbc == null) {
+            wbc = WebBeansContext.currentInstance();
+        }
         dependentContext.setActive(true);
         if (supportsConversation) {
             conversationContext = new ThreadLocal<ConversationContext>();
@@ -257,6 +261,10 @@ public class CdiAppContextsService exten
     }
 
     private void cleanupConversation() {
+        if (webBeansContext.getService(ConversationService.class) == null) {
+            return;
+        }
+
         final ConversationContext conversationContext = 
getConversationContext();
         if (conversationContext == null) {
             return;
@@ -350,6 +358,10 @@ public class CdiAppContextsService exten
      * @param context context
      */
     private void initConversationContext(ConversationContext context) {
+        if (webBeansContext.getService(ConversationService.class) == null) {
+            return;
+        }
+
         if (context == null) {
             if (conversationContext.get() == null) {
                 ConversationContext newContext = new ConversationContext();
@@ -370,6 +382,10 @@ public class CdiAppContextsService exten
      * Destroy conversation context.
      */
     private void destroyConversationContext() {
+        if (webBeansContext.getService(ConversationService.class) == null) {
+            return;
+        }
+
         ConversationContext context = getConversationContext();
 
         if (context != null) {

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java?rev=1375124&r1=1375123&r2=1375124&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
 Mon Aug 20 17:33:18 2012
@@ -102,7 +102,6 @@ public class ThreadSingletonServiceImpl 
         } else {
             services.put(ELAdaptor.class,new CustomELAdapter(appContext, 
startupObject.getWebContext()));
         }
-        services.put(ContextsService.class, new 
CdiAppContextsService(appContext.getWebBeansContext(), true));
         services.put(ResourceInjectionService.class, new 
CdiResourceInjectionService());
         services.put(ScannerService.class, new CdiScanner());
         services.put(LoaderService.class, new OptimizedLoaderService());
@@ -128,6 +127,9 @@ public class ThreadSingletonServiceImpl 
                 
startupObject.getWebContext().setWebbeansContext(webBeansContext);
             }
 
+            // do it only here to get the webbeanscontext
+            services.put(ContextsService.class, new 
CdiAppContextsService(webBeansContext, true));
+
             old = contextEntered(webBeansContext);
             setConfiguration(webBeansContext.getOpenWebBeansConfiguration());
             try {


Reply via email to