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 <[email protected]>
Authored: Fri Mar 20 11:15:06 2015 +0100
Committer: Romain Manni-Bucau <[email protected]>
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>

Reply via email to