You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2015/03/20 11:15:24 UTC

tomee git commit: request scope can be destroyed as well with cdi 1.x x > 0

Repository: tomee
Updated Branches:
  refs/heads/master b0a1ee2ac -> 45b6a81ce


request scope can be destroyed as well with cdi 1.x x > 0


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/45b6a81c
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/45b6a81c
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/45b6a81c

Branch: refs/heads/master
Commit: 45b6a81ce5a1ffad82350da9a74bfc705063092b
Parents: b0a1ee2
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Fri Mar 20 11:15:06 2015 +0100
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Fri Mar 20 11:15:06 2015 +0100

----------------------------------------------------------------------
 .../org/apache/openejb/cdi/ThreadSingletonServiceImpl.java     | 6 ++++--
 tck/cdi-tomee/src/test/resources/arquillian.xml                | 1 +
 tck/cdi-tomee/src/test/resources/failing.xml                   | 3 +--
 3 files changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/45b6a81c/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java b/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
index f8bdeb6..d4fe0c2 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
@@ -65,7 +65,8 @@ public class ThreadSingletonServiceImpl implements ThreadSingletonService {
     public static final Logger logger = Logger.getInstance(LogCategory.OPENEJB_STARTUP, ThreadSingletonServiceImpl.class);
 
     private String sessionContextClass;
-    private boolean cachedApplicationScoped;
+    private volatile boolean cachedApplicationScoped;
+    private volatile boolean cachedRequestScoped;
 
     //this needs to be static because OWB won't tell us what the existing SingletonService is and you can't set it twice.
     private static final ThreadLocal<WebBeansContext> contexts = new ThreadLocal<WebBeansContext>();
@@ -79,6 +80,7 @@ public class ThreadSingletonServiceImpl implements ThreadSingletonService {
                 if (sessionContextClass == null) {
                     sessionContextClass = SystemInstance.get().getProperty("openejb.session-context", "").trim();
                     cachedApplicationScoped = "true".equalsIgnoreCase(SystemInstance.get().getProperty("openejb.cdi.applicationScope.cached", "true").trim());
+                    cachedRequestScoped = "true".equalsIgnoreCase(SystemInstance.get().getProperty("openejb.cdi.requestScope.cached", "true").trim());
                 }
             }
         }
@@ -113,7 +115,7 @@ public class ThreadSingletonServiceImpl implements ThreadSingletonService {
         properties.setProperty("org.apache.webbeans.proxy.mapping.javax.enterprise.context.ApplicationScoped",
                 cachedApplicationScoped ? ApplicationScopedBeanInterceptorHandler.class.getName() : defaultNormalScopeHandlerClass);
 
-        if (tomee) {
+        if (tomee && cachedRequestScoped) {
             properties.setProperty("org.apache.webbeans.proxy.mapping.javax.enterprise.context.RequestScoped", RequestScopedBeanInterceptorHandler.class.getName());
         } else {
             properties.setProperty("org.apache.webbeans.proxy.mapping.javax.enterprise.context.RequestScoped", defaultNormalScopeHandlerClass);

http://git-wip-us.apache.org/repos/asf/tomee/blob/45b6a81c/tck/cdi-tomee/src/test/resources/arquillian.xml
----------------------------------------------------------------------
diff --git a/tck/cdi-tomee/src/test/resources/arquillian.xml b/tck/cdi-tomee/src/test/resources/arquillian.xml
index 7c35193..0977428 100644
--- a/tck/cdi-tomee/src/test/resources/arquillian.xml
+++ b/tck/cdi-tomee/src/test/resources/arquillian.xml
@@ -37,6 +37,7 @@
         openejb.strict.interface.declaration = true
         openejb.cdi.producer.interception = false
         openejb.cdi.applicationScope.cached = false
+        openejb.cdi.requestScope.cached = false
         openejb.classloader.forced-load = org.apache.webbeans.test.tck.,org.apache.openejb.tck.cdi.tomee.
 
         jmsRa = new://Resource?type=ActiveMQResourceAdapter

http://git-wip-us.apache.org/repos/asf/tomee/blob/45b6a81c/tck/cdi-tomee/src/test/resources/failing.xml
----------------------------------------------------------------------
diff --git a/tck/cdi-tomee/src/test/resources/failing.xml b/tck/cdi-tomee/src/test/resources/failing.xml
index 9f512c0..d691a8e 100644
--- a/tck/cdi-tomee/src/test/resources/failing.xml
+++ b/tck/cdi-tomee/src/test/resources/failing.xml
@@ -24,7 +24,6 @@
   <test name="CDI TCK">
     <classes>
       <!--
-        AlterableContextTest>Arquillian.run:164->testRequestScopedComponent:66->testComponent:104 foo expected [null] but found [foo]
   ConversationDeterminationTest>Arquillian.run:164->testConversationDetermination:78 expected [true] but found [false]
   ConversationFilterTest>Arquillian.run:164->testConversationBusy:133 expected [BusyConversationException] but found [500]
   DataSourcePassivationDependencyTest>Arquillian.run:164->testDataSource:68 » IllegalProduct
@@ -56,7 +55,7 @@
   DisabledProducerMethodInjectionNotAvailableTest>Arquillian.arquillianBeforeClass:109 » Runtime
   DisabledSessionBeanInjectionNotAvailableTest>Arquillian.arquillianBeforeClass:109 » Runtime
   -->
-      <class name="org.jboss.cdi.tck.tests.context.request.RequestContextTest" />
+      <class name="org.jboss.cdi.tck.tests.context.alterable.AlterableContextTest" />
     </classes>
   </test>
 </suite>