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 2013/02/07 16:12:06 UTC
svn commit: r1443537 -
/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
Author: rmannibucau
Date: Thu Feb 7 15:12:06 2013
New Revision: 1443537
URL: http://svn.apache.org/viewvc?rev=1443537&view=rev
Log:
don't validate passivation for ejb which are not stateful - a lookup doesn't care
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java?rev=1443537&r1=1443536&r2=1443537&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java Thu Feb 7 15:12:06 2013
@@ -70,10 +70,14 @@ public class CdiEjbBean<T> extends BaseE
passivatingId = beanContext.getDeploymentID() + getReturnType().getName();
}
- @Override // copied to be able to produce EM (should be fixed in OWB for next CDI spec)
+ @Override
public void validatePassivationDependencies() {
- // if(isPassivationCapable()) {
- if(getWebBeansContext().getBeanManagerImpl().isPassivatingScope(getScope())) { // not @Dependent otherwise we either can't inject EJB in serializable beans or the opposite
+ if (!BeanType.STATEFUL.equals(beanContext.getComponentType())) { // always serializable since we redo a lookup
+ return;
+ }
+
+ final Class<? extends Annotation> scope = getScope();
+ if(getWebBeansContext().getBeanManagerImpl().isPassivatingScope(scope)) { // not @Dependent otherwise we either can't inject EJB in serializable beans or the opposite
final Set<InjectionPoint> beanInjectionPoints = getInjectionPoints();
for(InjectionPoint injectionPoint : beanInjectionPoints) {
if(!injectionPoint.isTransient()) {
@@ -107,12 +111,12 @@ public class CdiEjbBean<T> extends BaseE
for (InterceptorData interceptorData : interceptorStack) {
if (interceptorData.isDefinedWithWebBeansInterceptor()) {
WebBeansInterceptor<?> interceptor = (WebBeansInterceptor<?>) interceptorData.getWebBeansInterceptor();
- if (!interceptor.isPassivationCapable()) {
- throw new WebBeansConfigurationException(MessageFormat.format(
- WebBeansLoggerFacade.getTokenString(OWBLogConst.EXCEPT_0016), toString()));
- } else {
- interceptor.validatePassivationDependencies();
- }
+ if (!interceptor.isPassivationCapable()) {
+ throw new WebBeansConfigurationException(MessageFormat.format(
+ WebBeansLoggerFacade.getTokenString(OWBLogConst.EXCEPT_0016), toString()));
+ } else {
+ interceptor.validatePassivationDependencies();
+ }
} else {
if (interceptorData.isDefinedInInterceptorClass()) {
Class<?> interceptorClass = interceptorData.getInterceptorClass();