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>
