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 2012/10/08 11:59:31 UTC
svn commit: r1395496 - in
/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb:
BeanContext.java core/stateful/StatefulContainer.java
Author: rmannibucau
Date: Mon Oct 8 09:59:30 2012
New Revision: 1395496
URL: http://svn.apache.org/viewvc?rev=1395496&view=rev
Log:
TOMEE-445 managing passivating parameter for stateful cdi beans
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java?rev=1395496&r1=1395495&r2=1395496&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java Mon Oct 8 09:59:30 2012
@@ -44,6 +44,7 @@ import org.apache.openejb.util.proxy.Dyn
import org.apache.webbeans.component.AbstractInjectionTargetBean;
import org.apache.webbeans.component.InjectionTargetBean;
import org.apache.webbeans.config.WebBeansContext;
+import org.apache.webbeans.container.BeanManagerImpl;
import org.apache.webbeans.context.creational.CreationalContextImpl;
import org.apache.webbeans.inject.AbstractInjectable;
import org.apache.webbeans.inject.OWBInjector;
@@ -61,6 +62,7 @@ import javax.ejb.Timer;
import javax.enterprise.context.spi.Contextual;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
import javax.naming.Context;
import javax.persistence.EntityManagerFactory;
import java.lang.annotation.Annotation;
@@ -1576,12 +1578,17 @@ public class BeanContext extends Deploym
this.hidden = hidden;
}
- public Class<? extends Annotation> getScope() {
+ public boolean isPassivatingScope() {
+ final BeanManagerImpl bm = moduleContext.getAppContext().getWebBeansContext().getBeanManagerImpl();
+ if (!bm.isInUse()) {
+ return true;
+ }
+
final CdiEjbBean<?> bean = get(CdiEjbBean.class);
if (bean != null) {
- return bean.getScope();
+ return bm.isPassivatingScope(bean.getScope());
}
- return null;
+ return true;
}
public void stop() {
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java?rev=1395496&r1=1395495&r2=1395496&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java Mon Oct 8 09:59:30 2012
@@ -65,7 +65,6 @@ import javax.ejb.RemoveException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.enterprise.context.Dependent;
-import javax.enterprise.context.RequestScoped;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import javax.naming.Context;
@@ -502,7 +501,7 @@ public class StatefulContainer implement
Method runMethod = null;
try {
// Obtain instance
- instance = obtainInstance(primKey, callContext, callMethod, beanContext.getScope() != RequestScoped.class);
+ instance = obtainInstance(primKey, callContext, callMethod, beanContext.isPassivatingScope());
// Resume previous Bean transaction if there was one
if (txPolicy instanceof BeanTransactionPolicy){