[jboss-cvs] JBossAS SVN: r106627 - in projects/ejb3/trunk/core: src/main/java/org/jboss/ejb3 and 7 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jul 13 11:10:32 EDT 2010


Author: ALRubinger
Date: 2010-07-13 11:10:31 -0400 (Tue, 13 Jul 2010)
New Revision: 106627

Modified:
   projects/ejb3/trunk/core/pom.xml
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3Deployment.java
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/core/context/SessionInvocationContextAdapter.java
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/service/ServiceContainer.java
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/SessionContainer.java
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/SessionContainerInvocation.java
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/SessionSpecContainer.java
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulContainer.java
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulContainerInvocation.java
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateless/StatelessContainer.java
   projects/ejb3/trunk/core/src/main/resources/ejb3-interceptors-aop.xml
   projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/MockEjb3Deployment.java
Log:
[EJBTHREE-1721] Integrate async changes into ejb3-core

Modified: projects/ejb3/trunk/core/pom.xml
===================================================================
--- projects/ejb3/trunk/core/pom.xml	2010-07-13 14:58:07 UTC (rev 106626)
+++ projects/ejb3/trunk/core/pom.xml	2010-07-13 15:10:31 UTC (rev 106627)
@@ -473,6 +473,12 @@
       <artifactId>jboss-ejb3-async-spi</artifactId>
       <version>${version.org.jboss.ejb3.async}</version>
     </dependency>
+    <dependency>
+      <groupId>org.jboss.ejb3.async</groupId>
+      <artifactId>jboss-ejb3-async-impl</artifactId>
+      <version>${version.org.jboss.ejb3.async}</version>
+      <scope>test</scope>
+    </dependency>
 
     <dependency>
       <groupId>org.jboss.ejb3.context</groupId>

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3Deployment.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3Deployment.java	2010-07-13 14:58:07 UTC (rev 106626)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3Deployment.java	2010-07-13 15:10:31 UTC (rev 106627)
@@ -46,10 +46,8 @@
 
 import org.jboss.beans.metadata.api.annotations.Inject;
 import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.ejb3.async.spi.container.AsyncInvocationProcessor;
 import org.jboss.ejb3.cache.CacheFactoryRegistry;
 import org.jboss.ejb3.cache.persistence.PersistenceManagerFactoryRegistry;
-import org.jboss.ejb3.common.deployers.spi.AttachmentNames;
 import org.jboss.ejb3.common.lang.ClassHelper;
 import org.jboss.ejb3.common.resolvers.spi.EjbReference;
 import org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolver;
@@ -170,7 +168,7 @@
       this.deploymentUnit = deploymentUnit;
       
       // Get the Async Invocation Processor from the Deployment
-      final String asyncInvocationProcessorName = org.jboss.ejb3.async.spi.container.AttachmentNames.ASYNC_INVOCATION_PROCESSOR;
+      final String asyncInvocationProcessorName = org.jboss.ejb3.async.spi.AttachmentNames.ASYNC_INVOCATION_PROCESSOR;
       final ExecutorService es = (ExecutorService) unit.getAttachment(asyncInvocationProcessorName);
       if (es == null)
       {

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/core/context/SessionInvocationContextAdapter.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/core/context/SessionInvocationContextAdapter.java	2010-07-13 14:58:07 UTC (rev 106626)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/core/context/SessionInvocationContextAdapter.java	2010-07-13 15:10:31 UTC (rev 106627)
@@ -21,25 +21,47 @@
  */
 package org.jboss.ejb3.core.context;
 
+import java.util.concurrent.ExecutorService;
+
+import javax.ejb.ApplicationException;
+import javax.ejb.TransactionAttributeType;
+
 import org.jboss.aop.joinpoint.MethodInvocation;
+import org.jboss.ejb3.async.spi.AsyncInvocationContext;
 import org.jboss.ejb3.context.base.BaseSessionInvocationContext;
 import org.jboss.ejb3.tx2.spi.TransactionalInvocationContext;
 
-import javax.ejb.ApplicationException;
-import javax.ejb.TransactionAttributeType;
-
 /**
  * @author <a href="cdewolf at redhat.com">Carlo de Wolf</a>
  */
 public class SessionInvocationContextAdapter extends BaseSessionInvocationContext
-   implements TransactionalInvocationContext
+   implements TransactionalInvocationContext, AsyncInvocationContext
 {
    private MethodInvocation delegate;
+   
+   /**
+    * Used to dispatch asynchronous invocations
+    */
+   private final ExecutorService asyncExecutor;
 
-   public SessionInvocationContextAdapter(Class<?> invokedBusinessInterface, MethodInvocation delegate)
+   /**
+    * Creates a new instance
+    * 
+    * @param invokedBusinessInterface
+    * @param delegate
+    * @param asyncExecutor Used to dispatch asynchronous invocations; required
+    */
+   public SessionInvocationContextAdapter(Class<?> invokedBusinessInterface, MethodInvocation delegate, final ExecutorService asyncExecutor)
    {
       super(invokedBusinessInterface, delegate.getMethod(), delegate.getArguments());
       this.delegate = delegate;
+      
+      // Set Async Executor
+      if(asyncExecutor==null)
+      {
+         throw new IllegalArgumentException("Async executor must be specified");
+      }
+      this.asyncExecutor = asyncExecutor;
    }
 
    @Override
@@ -86,5 +108,15 @@
    {
       super.setParameters(params);
       delegate.setArguments(params);
+   }
+
+   /**
+    * {@inheritDoc}
+    * @see org.jboss.ejb3.async.spi.AsyncInvocationContext#getAsynchronousExecutor()
+    */
+   @Override
+   public ExecutorService getAsynchronousExecutor()
+   {
+      return this.asyncExecutor;
    }   
 }

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/service/ServiceContainer.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/service/ServiceContainer.java	2010-07-13 14:58:07 UTC (rev 106626)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/service/ServiceContainer.java	2010-07-13 15:10:31 UTC (rev 106627)
@@ -431,7 +431,8 @@
          {
             throw new RuntimeException("Could not resolve beanClass method from proxy call: " + method.toString());
          }
-         StatefulContainerInvocation nextInvocation = new StatefulContainerInvocation(info, null, null);
+         StatefulContainerInvocation nextInvocation = new StatefulContainerInvocation(info, null, null, this
+               .getDeployment().getAsynchronousProcessor());
          nextInvocation.setAdvisor(getAdvisor());
          nextInvocation.setArguments(args);
 
@@ -474,7 +475,7 @@
          {
             throw new RuntimeException("Could not resolve beanClass method from proxy call");
          }
-         newSi = new StatefulContainerInvocation(info, null, null);
+         newSi = new StatefulContainerInvocation(info, null, null, this.getDeployment().getAsynchronousProcessor());
          newSi.setArguments(si.getArguments());
          newSi.setMetaData(si.getMetaData());
          newSi.setAdvisor(getAdvisor());

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/SessionContainer.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/SessionContainer.java	2010-07-13 14:58:07 UTC (rev 106626)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/SessionContainer.java	2010-07-13 15:10:31 UTC (rev 106627)
@@ -655,7 +655,8 @@
 //         }
 
          // FIXME: Ahem, stateful container invocation works on all.... (violating contract though)
-         StatefulContainerInvocation nextInvocation = new StatefulContainerInvocation(info, id, null);
+         StatefulContainerInvocation nextInvocation = new StatefulContainerInvocation(info, id, null, this
+               .getDeployment().getAsynchronousProcessor());
          //StatefulSessionContainerMethodInvocation nextInvocation = new StatefulSessionContainerMethodInvocation(info,null);
          //EJBContainerInvocation nextInvocation = new StatefulContainerInvocation(info, id);
          nextInvocation.setAdvisor(getAdvisor());

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/SessionContainerInvocation.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/SessionContainerInvocation.java	2010-07-13 14:58:07 UTC (rev 106626)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/SessionContainerInvocation.java	2010-07-13 15:10:31 UTC (rev 106627)
@@ -21,6 +21,8 @@
  */
 package org.jboss.ejb3.session;
 
+import java.util.concurrent.ExecutorService;
+
 import org.jboss.aop.MethodInfo;
 import org.jboss.aop.advice.Interceptor;
 import org.jboss.aop.joinpoint.Invocation;
@@ -36,10 +38,17 @@
 {
    private SessionInvocationContextAdapter invocationContext;
 
-   public SessionContainerInvocation(Class<?> invokedBusinessInterface, MethodInfo info)
+   /**
+    * Creates a {@link SessionContainerInvocation}
+    * @param invokedBusinessInterface
+    * @param info
+    * @param asyncExecutor Used for dispatching asynchronous invocations
+    */
+   public SessionContainerInvocation(Class<?> invokedBusinessInterface, MethodInfo info,
+         final ExecutorService asyncExecutor)
    {
       super(info);
-      this.invocationContext = new SessionInvocationContextAdapter(invokedBusinessInterface, this);
+      this.invocationContext = new SessionInvocationContextAdapter(invokedBusinessInterface, this, asyncExecutor);
    }
    
    /**
@@ -52,11 +61,13 @@
     * 
     * @param invokedBusinessInterface The invoked business interface
     * @param info The {@link MethodInfo}
-    * @param interceptors The interceptors which will be used by this {@link Invocation}. 
+    * @param interceptors The interceptors which will be used by this {@link Invocation}.
+    * @param asyncExecutor Used for dispatching asynchronous invocations 
     */
-   public SessionContainerInvocation(Class<?> invokedBusinessInterface, MethodInfo info, Interceptor[] interceptors)
+   public SessionContainerInvocation(Class<?> invokedBusinessInterface, MethodInfo info, Interceptor[] interceptors,
+         final ExecutorService asyncExecutor)
    {
-      this(invokedBusinessInterface, info);
+      this(invokedBusinessInterface, info, asyncExecutor);
       this.interceptors = interceptors;
    }
 

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/SessionSpecContainer.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/SessionSpecContainer.java	2010-07-13 14:58:07 UTC (rev 106626)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/SessionSpecContainer.java	2010-07-13 15:10:31 UTC (rev 106627)
@@ -40,7 +40,6 @@
 import org.jboss.aop.MethodInfo;
 import org.jboss.aop.util.MethodHashing;
 import org.jboss.ejb3.Ejb3Deployment;
-import org.jboss.ejb3.async.spi.container.AsyncInvocationProcessor;
 import org.jboss.ejb3.common.lang.SerializableMethod;
 import org.jboss.ejb3.common.registrar.spi.Ejb3RegistrarLocator;
 import org.jboss.ejb3.core.proxy.spi.CurrentRemoteProxyFactory;
@@ -65,7 +64,7 @@
  * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
  * @version $Revision: $
  */
-public abstract class SessionSpecContainer extends SessionContainer implements InvokableContext, AsyncInvocationProcessor
+public abstract class SessionSpecContainer extends SessionContainer implements InvokableContext
 {
 
    // ------------------------------------------------------------------------------||
@@ -215,7 +214,8 @@
           * Build an invocation
           */
 
-         StatefulContainerInvocation nextInvocation = new StatefulContainerInvocation(info, session, invokedBusinessInterface);
+         StatefulContainerInvocation nextInvocation = new StatefulContainerInvocation(info, session,
+               invokedBusinessInterface, this.getAsynchronousExecutor());
          nextInvocation.getMetaData().addMetaData(SessionSpecRemotingMetadata.TAG_SESSION_INVOCATION,
                SessionSpecRemotingMetadata.KEY_INVOKED_METHOD, method);
          nextInvocation.setArguments(args);
@@ -593,11 +593,9 @@
    }
 	
    /**
-    * {@inheritDoc}
-    * @see org.jboss.ejb3.async.spi.container.AsyncInvocationProcessor#getAsynchronousExecutor()
+    * Returns the {@link ExecutorService} used in processing Asynchronous invocations
     */
-   @Override
-   public ExecutorService getAsynchronousExecutor()
+   protected ExecutorService getAsynchronousExecutor()
    {
       return this.asynchronousExecutor;
    }

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulContainer.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulContainer.java	2010-07-13 14:58:07 UTC (rev 106626)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulContainer.java	2010-07-13 15:10:31 UTC (rev 106627)
@@ -361,7 +361,8 @@
 
             SerializableMethod invoked = new SerializableMethod(method, method.getClass());
 
-            StatefulContainerInvocation nextInvocation = new StatefulContainerInvocation(info, id, null);
+            StatefulContainerInvocation nextInvocation = new StatefulContainerInvocation(info, id, null, this
+                  .getAsynchronousExecutor());
             //StatefulSessionContainerMethodInvocation nextInvocation = new StatefulSessionContainerMethodInvocation(info);
             //nextInvocation.setSessionId(id);
             nextInvocation.setAdvisor(getAdvisor());
@@ -548,7 +549,8 @@
                 */
 
                // Construct the invocation
-               newSi = new StatefulContainerInvocation(info, sessionId, invokedBusinessInterface);
+               newSi = new StatefulContainerInvocation(info, sessionId, invokedBusinessInterface, this
+                     .getAsynchronousExecutor());
                //newSi = new StatefulContainerInvocation(info.getInterceptors(), long methodHash, Method advisedMethod, Method unadvisedMethod, Advisor advisor, Object id);
                newSi.setArguments(si.getArguments());
                newSi.setMetaData(si.getMetaData());
@@ -724,7 +726,8 @@
          interceptors = stack.createInterceptors(getAdvisor(), null);
       }
 
-      StatefulContainerInvocation invocation = new StatefulContainerInvocation(interceptors, 0L, initMethod, initMethod, getAdvisor(), sessionId, null);
+      StatefulContainerInvocation invocation = new StatefulContainerInvocation(interceptors, 0L, initMethod,
+            initMethod, getAdvisor(), sessionId, null, this.getAsynchronousExecutor());
       invocation.setArguments(initParameterValues);
       if(metaData != null)
          invocation.setMetaData(metaData);
@@ -1200,15 +1203,16 @@
    {
       StatefulContainerInvocation newStatefulInvocation = null;
       Object newId = null;
+      final ExecutorService asyncExecutor = this.getAsynchronousExecutor();
       if (statefulInvocation.getId() == null)
       {
          StatefulBeanContext ctx = getCache().create(null, null);
          newId = ctx.getId();
-         newStatefulInvocation = new StatefulContainerInvocation(info, newId, null);
+         newStatefulInvocation = new StatefulContainerInvocation(info, newId, null, asyncExecutor);
       }
       else
       {
-         newStatefulInvocation = new StatefulContainerInvocation(info, statefulInvocation.getId(), null);
+         newStatefulInvocation = new StatefulContainerInvocation(info, statefulInvocation.getId(), null, asyncExecutor);
       }
 
       newStatefulInvocation.setArguments(statefulInvocation.getArguments());

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulContainerInvocation.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulContainerInvocation.java	2010-07-13 14:58:07 UTC (rev 106626)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulContainerInvocation.java	2010-07-13 15:10:31 UTC (rev 106627)
@@ -26,12 +26,15 @@
 import org.jboss.aop.advice.Interceptor;
 import org.jboss.aop.joinpoint.Invocation;
 import org.jboss.ejb3.EJBContainerInvocation;
+import org.jboss.ejb3.async.spi.AsyncInvocation;
+import org.jboss.ejb3.async.spi.AsyncInvocationContext;
 import org.jboss.ejb3.core.context.EJBInvocation;
 import org.jboss.ejb3.core.context.SessionInvocationContextAdapter;
 import org.jboss.ejb3.interceptors.container.BeanContext;
 import org.jboss.ejb3.tx2.spi.TransactionalInvocationContext;
 
 import java.lang.reflect.Method;
+import java.util.concurrent.ExecutorService;
 
 /**
  * Comment
@@ -40,25 +43,28 @@
  * @version $Revision$
  */
 public class StatefulContainerInvocation extends EJBContainerInvocation<StatefulContainer, StatefulBeanContext>
-   implements EJBInvocation
+   implements EJBInvocation, AsyncInvocation
 {
    private static final long serialVersionUID = -7636489066612082373L;
    
    private Object id;
    private SessionInvocationContextAdapter invocationContext;
 
-   public StatefulContainerInvocation(Interceptor[] interceptors, long methodHash, Method advisedMethod, Method unadvisedMethod, Advisor advisor, Object id, Class<?> invokedBusinessInterface)
+   public StatefulContainerInvocation(Interceptor[] interceptors, long methodHash, Method advisedMethod,
+         Method unadvisedMethod, Advisor advisor, Object id, Class<?> invokedBusinessInterface,
+         final ExecutorService asyncExecutor)
    {
       super(interceptors, methodHash, advisedMethod, unadvisedMethod, advisor);
       this.id = id;
-      this.invocationContext = new SessionInvocationContextAdapter(invokedBusinessInterface, this);
+      this.invocationContext = new SessionInvocationContextAdapter(invokedBusinessInterface, this, asyncExecutor);
    }
 
-   public StatefulContainerInvocation(MethodInfo info, Object id, Class<?> invokedBusinessInterface)
+   public StatefulContainerInvocation(MethodInfo info, Object id, Class<?> invokedBusinessInterface,
+         final ExecutorService asyncExecutor)
    {
       super(info);
       this.id = id;
-      this.invocationContext = new SessionInvocationContextAdapter(invokedBusinessInterface, this);
+      this.invocationContext = new SessionInvocationContextAdapter(invokedBusinessInterface, this, asyncExecutor);
    }
 
    public StatefulContainerInvocation()
@@ -72,7 +78,9 @@
 
    public Invocation copy()
    {
-      StatefulContainerInvocation wrapper = new StatefulContainerInvocation(interceptors, methodHash, advisedMethod, unadvisedMethod, advisor, id, invocationContext.getInvokedBusinessInterface());
+      StatefulContainerInvocation wrapper = new StatefulContainerInvocation(interceptors, methodHash, advisedMethod,
+            unadvisedMethod, advisor, id, invocationContext.getInvokedBusinessInterface(), invocationContext
+                  .getAsynchronousExecutor());
       wrapper.metadata = this.metadata;
       wrapper.currentInterceptor = this.currentInterceptor;
       //wrapper.setTargetObject(this.getTargetObject());
@@ -95,4 +103,14 @@
       else
          invocationContext.setEJBContext(((org.jboss.ejb3.BeanContext<?>) beanCtx).getEJBContext());
    }
+
+   /**
+    * {@inheritDoc}
+    * @see org.jboss.ejb3.async.spi.AsyncInvocation#getAsyncInvocationContext()
+    */
+   @Override
+   public AsyncInvocationContext getAsyncInvocationContext()
+   {
+      return invocationContext;
+   }
 }

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateless/StatelessContainer.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateless/StatelessContainer.java	2010-07-13 14:58:07 UTC (rev 106626)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateless/StatelessContainer.java	2010-07-13 15:10:31 UTC (rev 106627)
@@ -235,7 +235,8 @@
                return localHomeInvoke(unadvisedMethod, args);
             }
 
-            EJBContainerInvocation<StatelessContainer, StatelessBeanContext> nextInvocation = new SessionContainerInvocation<StatelessContainer, StatelessBeanContext>(null, info);
+            EJBContainerInvocation<StatelessContainer, StatelessBeanContext> nextInvocation = new SessionContainerInvocation<StatelessContainer, StatelessBeanContext>(
+                  null, info, this.getAsynchronousExecutor());
             nextInvocation.setAdvisor(getAdvisor());
             nextInvocation.setArguments(args);
             nextInvocation.setContextCallback(callback);
@@ -352,7 +353,8 @@
             else
             {
 
-               newSi = new SessionContainerInvocation<StatelessContainer, StatelessBeanContext>(invokedBusinessInterface, info);
+               newSi = new SessionContainerInvocation<StatelessContainer, StatelessBeanContext>(
+                     invokedBusinessInterface, info, this.getAsynchronousExecutor());
                newSi.setArguments(si.getArguments());
                newSi.setMetaData(si.getMetaData());
                //newSi.setAdvisor(getAdvisor());               
@@ -678,7 +680,8 @@
             // chain. Hence we have a specific AOP interceptor stack for timeout method. Get hold of those interceptors
             Interceptor[] timeoutMethodAOPInterceptors = this.getInterceptors(info.getJoinpoint(),SLSB_TIMEOUT_METHOD_AOP_INTERCEPTOR_STACK_NAME);
             // now create an invocation for the method info and the timeout method interceptors
-            EJBContainerInvocation nextInvocation = new SessionContainerInvocation(null, info, timeoutMethodAOPInterceptors);
+            EJBContainerInvocation nextInvocation = new SessionContainerInvocation(null, info,
+                  timeoutMethodAOPInterceptors, this.getAsynchronousExecutor());
             nextInvocation.setAdvisor(getAdvisor());
             nextInvocation.setArguments(args);
             nextInvocation.invokeNext();

Modified: projects/ejb3/trunk/core/src/main/resources/ejb3-interceptors-aop.xml
===================================================================
--- projects/ejb3/trunk/core/src/main/resources/ejb3-interceptors-aop.xml	2010-07-13 14:58:07 UTC (rev 106626)
+++ projects/ejb3/trunk/core/src/main/resources/ejb3-interceptors-aop.xml	2010-07-13 15:10:31 UTC (rev 106627)
@@ -70,6 +70,7 @@
    <interceptor class="org.jboss.ejb3.BlockContainerShutdownInterceptor" scope="PER_VM"/>
    <interceptor factory="org.jboss.ejb3.connectionmanager.CachedConnectionInterceptorFactory" scope="PER_CLASS"/>
     <interceptor class="org.jboss.ejb3.interceptor.EJB3TCCLInterceptor" scope="PER_VM"/>
+    <interceptor class="org.jboss.ejb3.async.impl.interceptor.AsynchronousInterceptor" scope="PER_VM" />
    <!--
          INTERCEPTORS
      -->
@@ -127,6 +128,7 @@
          <advice name="setup" aspect="InvocationContextInterceptor"/>
          <advice name="fillMethod" aspect="InvocationContextInterceptor"/>
          <advice name="aroundInvoke" aspect="InjectInterceptorsFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.async.impl.interceptor.AsynchronousInterceptor" />
       </stack>
 
       <bind pointcut="execution(public * *->*(..))">

Modified: projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/MockEjb3Deployment.java
===================================================================
--- projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/MockEjb3Deployment.java	2010-07-13 14:58:07 UTC (rev 106626)
+++ projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/MockEjb3Deployment.java	2010-07-13 15:10:31 UTC (rev 106627)
@@ -32,7 +32,7 @@
 import org.jboss.ejb3.DeploymentScope;
 import org.jboss.ejb3.DeploymentUnit;
 import org.jboss.ejb3.Ejb3Deployment;
-import org.jboss.ejb3.async.spi.container.AttachmentNames;
+import org.jboss.ejb3.async.spi.AttachmentNames;
 import org.jboss.ejb3.cache.CacheFactoryRegistry;
 import org.jboss.ejb3.cache.Ejb3CacheFactory;
 import org.jboss.ejb3.cache.NoPassivationCacheFactory;



More information about the jboss-cvs-commits mailing list