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 {