[jboss-cvs] JBossAS SVN: r106624 - in projects/ejb3/components/async/trunk: deployer/src/main/java/org/jboss/ejb3/async/deployer and 11 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jul 13 01:37:35 EDT 2010


Author: ALRubinger
Date: 2010-07-13 01:37:34 -0400 (Tue, 13 Jul 2010)
New Revision: 106624

Added:
   projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/AsyncInvocation.java
   projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/AsyncInvocationContext.java
   projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/AttachmentNames.java
Removed:
   projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/container/AsyncInvocationProcessor.java
   projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/container/AttachmentNames.java
Modified:
   projects/ejb3/components/async/trunk/build/pom.xml
   projects/ejb3/components/async/trunk/deployer/src/main/java/org/jboss/ejb3/async/deployer/AsyncExecutorServiceDeployer.java
   projects/ejb3/components/async/trunk/deployer/src/test/java/org/jboss/ejb3/async/deployer/AsyncExecutorServiceDeployerTestCase.java
   projects/ejb3/components/async/trunk/impl/pom.xml
   projects/ejb3/components/async/trunk/impl/src/main/java/org/jboss/ejb3/async/impl/interceptor/AsynchronousInterceptor.java
   projects/ejb3/components/async/trunk/impl/src/test/java/org/jboss/ejb3/async/impl/test/cancel/PausableProcessingAsyncContainer.java
   projects/ejb3/components/async/trunk/impl/src/test/java/org/jboss/ejb3/async/impl/test/common/AsyncTestUtil.java
   projects/ejb3/components/async/trunk/impl/src/test/java/org/jboss/ejb3/async/impl/test/common/ThreadPoolAsyncContainer.java
   projects/ejb3/components/async/trunk/impl/src/test/java/org/jboss/ejb3/async/impl/test/remote/RemotableThreadPoolAsyncContainer.java
   projects/ejb3/components/async/trunk/impl/src/test/resources/simple/jboss-aop.xml
   projects/ejb3/components/async/trunk/spi/pom.xml
   projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/container/remote/RemotableAsyncInvocationProcessor.java
Log:
[EJBTHREE-1721] Do not access the underlying ExecutorService via the container, but rather from the invocation context

Modified: projects/ejb3/components/async/trunk/build/pom.xml
===================================================================
--- projects/ejb3/components/async/trunk/build/pom.xml	2010-07-13 03:12:17 UTC (rev 106623)
+++ projects/ejb3/components/async/trunk/build/pom.xml	2010-07-13 05:37:34 UTC (rev 106624)
@@ -28,6 +28,11 @@
 
     <!-- Versioning -->
     <version.junit_junit>4.6</version.junit_junit>
+    <version.org.jboss.ejb3.context>0.2.0</version.org.jboss.ejb3.context>
+    
+    <javax.ejb.groupId>org.jboss.javaee</javax.ejb.groupId>
+    <javax.ejb.artifactId>jboss-ejb-api</javax.ejb.artifactId>
+    <javax.ejb.version>3.0.0.GA</javax.ejb.version>
 
   </properties>
 
@@ -129,6 +134,20 @@
         <version>${version.junit_junit}</version>
         <scope>test</scope>
       </dependency>
+      
+      <!-- org.jboss.ejb3.context -->
+      <dependency>
+        <groupId>org.jboss.ejb3.context</groupId>
+        <artifactId>jboss-ejb3-context-spi</artifactId>
+        <version>${version.org.jboss.ejb3.context}</version>
+      </dependency>
+      
+      <dependency>
+        <groupId>${javax.ejb.groupId}</groupId>
+        <artifactId>${javax.ejb.artifactId}</artifactId>
+        <version>${javax.ejb.version}</version>
+        <scope>provided</scope>
+      </dependency>
 
     </dependencies>
   </dependencyManagement>

Modified: projects/ejb3/components/async/trunk/deployer/src/main/java/org/jboss/ejb3/async/deployer/AsyncExecutorServiceDeployer.java
===================================================================
--- projects/ejb3/components/async/trunk/deployer/src/main/java/org/jboss/ejb3/async/deployer/AsyncExecutorServiceDeployer.java	2010-07-13 03:12:17 UTC (rev 106623)
+++ projects/ejb3/components/async/trunk/deployer/src/main/java/org/jboss/ejb3/async/deployer/AsyncExecutorServiceDeployer.java	2010-07-13 05:37:34 UTC (rev 106624)
@@ -27,7 +27,7 @@
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.ejb3.async.spi.container.AttachmentNames;
+import org.jboss.ejb3.async.spi.AttachmentNames;
 import org.jboss.logging.Logger;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
 

Modified: projects/ejb3/components/async/trunk/deployer/src/test/java/org/jboss/ejb3/async/deployer/AsyncExecutorServiceDeployerTestCase.java
===================================================================
--- projects/ejb3/components/async/trunk/deployer/src/test/java/org/jboss/ejb3/async/deployer/AsyncExecutorServiceDeployerTestCase.java	2010-07-13 03:12:17 UTC (rev 106623)
+++ projects/ejb3/components/async/trunk/deployer/src/test/java/org/jboss/ejb3/async/deployer/AsyncExecutorServiceDeployerTestCase.java	2010-07-13 05:37:34 UTC (rev 106624)
@@ -30,7 +30,7 @@
 import org.jboss.arquillian.junit.Arquillian;
 import org.jboss.beans.metadata.api.annotations.Inject;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.ejb3.async.spi.container.AttachmentNames;
+import org.jboss.ejb3.async.spi.AttachmentNames;
 import org.jboss.reloaded.shrinkwrap.api.ShrinkWrapDeployer;
 import org.jboss.shrinkwrap.api.ShrinkWrap;
 import org.jboss.shrinkwrap.api.spec.JavaArchive;

Modified: projects/ejb3/components/async/trunk/impl/pom.xml
===================================================================
--- projects/ejb3/components/async/trunk/impl/pom.xml	2010-07-13 03:12:17 UTC (rev 106623)
+++ projects/ejb3/components/async/trunk/impl/pom.xml	2010-07-13 05:37:34 UTC (rev 106624)
@@ -69,6 +69,13 @@
       <scope>provided</scope>
     </dependency>
     
+    <dependency>
+      <groupId>org.jboss.ejb3.context</groupId>
+      <artifactId>jboss-ejb3-context-base</artifactId>
+      <version>${version.org.jboss.ejb3.context}</version>
+      <scope>test</scope>
+    </dependency>
+    
     <!-- 
     Dependencies: External to EJB3 
     -->

Modified: projects/ejb3/components/async/trunk/impl/src/main/java/org/jboss/ejb3/async/impl/interceptor/AsynchronousInterceptor.java
===================================================================
--- projects/ejb3/components/async/trunk/impl/src/main/java/org/jboss/ejb3/async/impl/interceptor/AsynchronousInterceptor.java	2010-07-13 03:12:17 UTC (rev 106623)
+++ projects/ejb3/components/async/trunk/impl/src/main/java/org/jboss/ejb3/async/impl/interceptor/AsynchronousInterceptor.java	2010-07-13 05:37:34 UTC (rev 106624)
@@ -31,8 +31,8 @@
 import org.jboss.aop.advice.Interceptor;
 import org.jboss.aop.joinpoint.Invocation;
 import org.jboss.aop.joinpoint.MethodInvocation;
-import org.jboss.ejb3.async.spi.container.AsyncInvocationProcessor;
-import org.jboss.ejb3.interceptors.container.ManagedObjectAdvisor;
+import org.jboss.ejb3.async.spi.AsyncInvocation;
+import org.jboss.ejb3.async.spi.AsyncInvocationContext;
 import org.jboss.logging.Logger;
 import org.jboss.security.SecurityContext;
 
@@ -110,10 +110,10 @@
    private Future<?> invokeAsync(final Invocation invocation)
    {
       // Get the target container
-      final AsyncInvocationProcessor container = this.getInvocationProcessor(invocation);
+      final AsyncInvocationContext context = this.getInvocationContext(invocation);
 
       // Get the ExecutorService
-      final ExecutorService executorService = container.getAsynchronousExecutor();
+      final ExecutorService executorService = context.getAsynchronousExecutor();
 
       // Get the existing SecurityContext
       final SecurityContext sc = SecurityActions.getSecurityContext();
@@ -178,14 +178,23 @@
    }
 
    /**
-    * 
+    * Obtains the {@link AsyncInvocationContext} associated with the
+    * specified {@link Invocation}
+    * @param invocation Invocation; must be specified
     * @return
     */
-   private AsyncInvocationProcessor getInvocationProcessor(final Invocation invocation)
+   private AsyncInvocationContext getInvocationContext(final Invocation invocation)
    {
-      //TODO This won't work when we integrate w/ ejb3-core, as Advisor will need:
-      // ((ManagedObjectAdvisor) invocation.getAdvisor()).getContainer().getEJBContainer();
-      return (AsyncInvocationProcessor) ((ManagedObjectAdvisor) invocation.getAdvisor()).getContainer();
+      // Precondition checks
+      assert invocation != null : "Invocation must be specified";
+      assert invocation instanceof AsyncInvocation : "Invocation " + invocation.toString() + " must be of type "
+            + AsyncInvocation.class.getName();
+
+      // Cast
+      final AsyncInvocation asyncInvocation = (AsyncInvocation) invocation;
+
+      // Get out the context
+      return asyncInvocation.getAsyncInvocationContext();
    }
 
    // --------------------------------------------------------------------------------||

Modified: projects/ejb3/components/async/trunk/impl/src/test/java/org/jboss/ejb3/async/impl/test/cancel/PausableProcessingAsyncContainer.java
===================================================================
--- projects/ejb3/components/async/trunk/impl/src/test/java/org/jboss/ejb3/async/impl/test/cancel/PausableProcessingAsyncContainer.java	2010-07-13 03:12:17 UTC (rev 106623)
+++ projects/ejb3/components/async/trunk/impl/src/test/java/org/jboss/ejb3/async/impl/test/cancel/PausableProcessingAsyncContainer.java	2010-07-13 05:37:34 UTC (rev 106624)
@@ -26,7 +26,6 @@
 
 import org.jboss.ejb3.async.impl.test.common.ThreadPoolAsyncContainer;
 import org.jboss.ejb3.async.impl.util.concurrent.ResultUnwrappingExecutorService;
-import org.jboss.ejb3.async.spi.container.AsyncInvocationProcessor;
 
 /**
  * PausableProcessingAsyncContainer
@@ -37,8 +36,7 @@
  * @version $Revision: $
  */
 public class PausableProcessingAsyncContainer<T> extends ThreadPoolAsyncContainer<T>
-      implements
-         AsyncInvocationProcessor
+
 {
 
    // --------------------------------------------------------------------------------||

Modified: projects/ejb3/components/async/trunk/impl/src/test/java/org/jboss/ejb3/async/impl/test/common/AsyncTestUtil.java
===================================================================
--- projects/ejb3/components/async/trunk/impl/src/test/java/org/jboss/ejb3/async/impl/test/common/AsyncTestUtil.java	2010-07-13 03:12:17 UTC (rev 106623)
+++ projects/ejb3/components/async/trunk/impl/src/test/java/org/jboss/ejb3/async/impl/test/common/AsyncTestUtil.java	2010-07-13 05:37:34 UTC (rev 106624)
@@ -23,8 +23,6 @@
 
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.TimeUnit;
 
 import org.jboss.ejb3.async.impl.util.concurrent.ResultUnwrappingExecutorService;
 

Modified: projects/ejb3/components/async/trunk/impl/src/test/java/org/jboss/ejb3/async/impl/test/common/ThreadPoolAsyncContainer.java
===================================================================
--- projects/ejb3/components/async/trunk/impl/src/test/java/org/jboss/ejb3/async/impl/test/common/ThreadPoolAsyncContainer.java	2010-07-13 03:12:17 UTC (rev 106623)
+++ projects/ejb3/components/async/trunk/impl/src/test/java/org/jboss/ejb3/async/impl/test/common/ThreadPoolAsyncContainer.java	2010-07-13 05:37:34 UTC (rev 106624)
@@ -21,18 +21,30 @@
  */
 package org.jboss.ejb3.async.impl.test.common;
 
+import java.lang.reflect.Method;
 import java.util.concurrent.ExecutorService;
 
-import org.jboss.ejb3.async.spi.container.AsyncInvocationProcessor;
+import org.jboss.aop.MethodInfo;
+import org.jboss.aop.joinpoint.Invocation;
+import org.jboss.aop.joinpoint.MethodInvocation;
+import org.jboss.aop.util.MethodHashing;
+import org.jboss.ejb3.async.impl.interceptor.AsynchronousInterceptor;
+import org.jboss.ejb3.async.spi.AsyncInvocation;
+import org.jboss.ejb3.async.spi.AsyncInvocationContext;
+import org.jboss.ejb3.context.base.BaseSessionInvocationContext;
+import org.jboss.ejb3.interceptors.container.BeanContext;
+import org.jboss.ejb3.interceptors.container.ContainerMethodInvocation;
 import org.jboss.ejb3.interceptors.direct.DirectContainer;
 
 /**
- * ThreadPoolAsyncContainer
+ * {@link DirectContainer} extension which dispatches new invocations
+ * as {@link AsyncContainerMethodInvocation}; this provides a 
+ * {@link AsyncInvocation} as required by the {@link AsynchronousInterceptor}.
  *
  * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
  * @version $Revision: $
  */
-public class ThreadPoolAsyncContainer<T> extends DirectContainer<T> implements AsyncInvocationProcessor
+public class ThreadPoolAsyncContainer<T> extends DirectContainer<T>
 {
    // --------------------------------------------------------------------------------||
    // Instance Members ---------------------------------------------------------------||
@@ -77,4 +89,98 @@
       this.asynchronousExecutor = asynchronousExecutor;
    }
 
+   // --------------------------------------------------------------------------------||
+   // Overridden Implementations -----------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   /**
+    * Construct our own {@link Invocation} type to be {@link AsyncContainerMethodInvocation}
+    * @see org.jboss.ejb3.interceptors.direct.AbstractDirectContainer#invoke(org.jboss.ejb3.interceptors.container.BeanContext, java.lang.reflect.Method, java.lang.Object[])
+    */
+   @Override
+   public Object invoke(final BeanContext<T> target, final Method method, final Object arguments[]) throws Throwable
+   {
+      long methodHash = MethodHashing.calculateHash(method);
+      MethodInfo info = getAdvisor().getMethodInfo(methodHash);
+      if (info == null)
+         throw new IllegalArgumentException("method " + method + " is not under advisement by " + this);
+      final ContainerMethodInvocation invocation = new AsyncContainerMethodInvocation(info, target, arguments);
+      return invocation.invokeNext();
+   }
+
+   // --------------------------------------------------------------------------------||
+   // Internal Helper Members --------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   /**
+    * {@link AsyncInvocation} contract fulfilling implementation extension of a container-based
+    * method Invocation
+    */
+   private class AsyncContainerMethodInvocation extends ContainerMethodInvocation implements AsyncInvocation
+   {
+
+      AsyncContainerMethodInvocation(MethodInfo info, BeanContext<?> beanContext, Object arguments[])
+      {
+         super(info, info.getInterceptors());
+
+         assert beanContext != null : "beanContext is null";
+
+         setArguments(arguments);
+         setBeanContext(beanContext);
+      }
+
+      @Override
+      public AsyncInvocationContext getAsyncInvocationContext()
+      {
+         return new AsyncInvocationContextImpl(this);
+      }
+
+   }
+
+   /**
+    * {@link BaseSessionInvocationContext} extended to plug in 
+    * {@link AsyncInvocationContext} support
+    * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+    */
+   private class AsyncInvocationContextImpl extends BaseSessionInvocationContext implements AsyncInvocationContext
+   {
+
+      private final MethodInvocation delegate;
+
+      AsyncInvocationContextImpl(final MethodInvocation delegate)
+      {
+         super(null, delegate.getMethod(), delegate.getArguments());
+         this.delegate = delegate;
+
+      }
+
+      @Override
+      public Object proceed() throws Exception
+      {
+         try
+         {
+            return delegate.invokeNext();
+         }
+         catch (Exception e)
+         {
+            throw e;
+         }
+         catch (Error e)
+         {
+            throw (Error) e;
+         }
+         catch (Throwable t)
+         {
+            throw new RuntimeException(t);
+         }
+      }
+
+      @Override
+      public ExecutorService getAsynchronousExecutor()
+      {
+         return asynchronousExecutor;
+      }
+
+   }
+
 }

Modified: projects/ejb3/components/async/trunk/impl/src/test/java/org/jboss/ejb3/async/impl/test/remote/RemotableThreadPoolAsyncContainer.java
===================================================================
--- projects/ejb3/components/async/trunk/impl/src/test/java/org/jboss/ejb3/async/impl/test/remote/RemotableThreadPoolAsyncContainer.java	2010-07-13 03:12:17 UTC (rev 106623)
+++ projects/ejb3/components/async/trunk/impl/src/test/java/org/jboss/ejb3/async/impl/test/remote/RemotableThreadPoolAsyncContainer.java	2010-07-13 05:37:34 UTC (rev 106624)
@@ -27,7 +27,6 @@
 import org.jboss.ejb3.async.impl.test.common.AsyncTestUtil;
 import org.jboss.ejb3.async.impl.test.common.ThreadPoolAsyncContainer;
 import org.jboss.ejb3.async.spi.container.remote.EndpointConstants;
-import org.jboss.ejb3.async.spi.container.remote.RemotableAsyncInvocationProcessor;
 import org.jboss.ejb3.async.spi.container.remote.RemoteAsyncTaskRegistry;
 
 /**
@@ -37,8 +36,6 @@
  * @version $Revision: $
  */
 public class RemotableThreadPoolAsyncContainer<T> extends ThreadPoolAsyncContainer<T>
-      implements
-         RemotableAsyncInvocationProcessor
 {
    // --------------------------------------------------------------------------------||
    // Instance Members ---------------------------------------------------------------||

Modified: projects/ejb3/components/async/trunk/impl/src/test/resources/simple/jboss-aop.xml
===================================================================
--- projects/ejb3/components/async/trunk/impl/src/test/resources/simple/jboss-aop.xml	2010-07-13 03:12:17 UTC (rev 106623)
+++ projects/ejb3/components/async/trunk/impl/src/test/resources/simple/jboss-aop.xml	2010-07-13 05:37:34 UTC (rev 106624)
@@ -1,14 +1,9 @@
 <aop xmlns="urn:jboss:aop-beans:1.0">
 
-  <!--
-
-    Define the interceptor per-instance for now, each interceptor will
-    need access to the container. If this may be obtained via the
-    invocation, we may make the interceptor per-JVM
-  -->
   <interceptor name="AsynchronousInterceptor"
     class="org.jboss.ejb3.async.impl.interceptor.AsynchronousInterceptor"
-    scope="PER_INSTANCE" />
+    scope="PER_VM" />
+    
 
   <domain name="Asynchronous Container">
 

Modified: projects/ejb3/components/async/trunk/spi/pom.xml
===================================================================
--- projects/ejb3/components/async/trunk/spi/pom.xml	2010-07-13 03:12:17 UTC (rev 106623)
+++ projects/ejb3/components/async/trunk/spi/pom.xml	2010-07-13 05:37:34 UTC (rev 106624)
@@ -31,20 +31,27 @@
   <properties>
   
     <!-- Versioning -->
-
   
   </properties>
 
   <dependencies>
   
     <!-- 
-    Dependencies: org.jboss.ejb3 
+    Dependencies: org.jboss.ejb3.* 
     -->
+    <!-- org.jboss.ejb3.context -->
+    <dependency>
+      <groupId>org.jboss.ejb3.context</groupId>
+      <artifactId>jboss-ejb3-context-spi</artifactId>
+    </dependency>
     
-    
     <!-- 
     Dependencies: External to EJB3 
     -->
+    <dependency>
+       <groupId>${javax.ejb.groupId}</groupId>
+       <artifactId>${javax.ejb.artifactId}</artifactId>
+    </dependency>
     
   </dependencies>
 </project>

Added: projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/AsyncInvocation.java
===================================================================
--- projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/AsyncInvocation.java	                        (rev 0)
+++ projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/AsyncInvocation.java	2010-07-13 05:37:34 UTC (rev 106624)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+  *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ejb3.async.spi;
+
+/**
+ * View of an invocation containing an underlying
+ * {@link AsyncInvocationContext}
+ * 
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ */
+public interface AsyncInvocation
+{
+   /**
+    * Obtains the {@link AsyncInvocationContext} associated with this
+    * invocation
+    * @return
+    */
+   AsyncInvocationContext getAsyncInvocationContext();
+}

Copied: projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/AsyncInvocationContext.java (from rev 106351, projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/container/AsyncInvocationProcessor.java)
===================================================================
--- projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/AsyncInvocationContext.java	                        (rev 0)
+++ projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/AsyncInvocationContext.java	2010-07-13 05:37:34 UTC (rev 106624)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+  *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ejb3.async.spi;
+
+import java.util.concurrent.ExecutorService;
+
+import javax.interceptor.InvocationContext;
+
+/**
+ * AsyncInvocationProcessor
+ * 
+ * ejb3-async view of the target Container
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public interface AsyncInvocationContext extends InvocationContext
+{
+
+   // --------------------------------------------------------------------------------||
+   // Contracts ----------------------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   /**
+    * Obtains the ExecutorService to be used for asynchronous invocations
+    */
+   ExecutorService getAsynchronousExecutor();
+
+}

Copied: projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/AttachmentNames.java (from rev 106469, projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/container/AttachmentNames.java)
===================================================================
--- projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/AttachmentNames.java	                        (rev 0)
+++ projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/AttachmentNames.java	2010-07-13 05:37:34 UTC (rev 106624)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ejb3.async.spi;
+
+import java.util.concurrent.ExecutorService;
+
+/**
+ * Contract of deployment attachment names for the EJB 3.1 Asynchronous
+ * Implementation
+ * 
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ */
+public interface AttachmentNames
+{
+   // ------------------------------------------------------------------------------||
+   // Contracts --------------------------------------------------------------------||
+   // ------------------------------------------------------------------------------||
+   
+   /**
+    * Name of the asynchronous {@link ExecutorService} used to process incoming
+    * async invocations
+    */
+   String ASYNC_INVOCATION_PROCESSOR = "org.jboss.ejb3.async." + ExecutorService.class.getSimpleName();
+}

Deleted: projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/container/AsyncInvocationProcessor.java
===================================================================
--- projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/container/AsyncInvocationProcessor.java	2010-07-13 03:12:17 UTC (rev 106623)
+++ projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/container/AsyncInvocationProcessor.java	2010-07-13 05:37:34 UTC (rev 106624)
@@ -1,46 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2009, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
-  *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ejb3.async.spi.container;
-
-import java.util.concurrent.ExecutorService;
-
-/**
- * AsyncInvocationProcessor
- * 
- * ejb3-async view of the target Container
- *
- * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
- * @version $Revision: $
- */
-public interface AsyncInvocationProcessor
-{
-
-   // --------------------------------------------------------------------------------||
-   // Contracts ----------------------------------------------------------------------||
-   // --------------------------------------------------------------------------------||
-
-   /**
-    * Obtains the ExecutorService to be used for asynchronous invocations
-    */
-   ExecutorService getAsynchronousExecutor();
-
-}

Deleted: projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/container/AttachmentNames.java
===================================================================
--- projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/container/AttachmentNames.java	2010-07-13 03:12:17 UTC (rev 106623)
+++ projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/container/AttachmentNames.java	2010-07-13 05:37:34 UTC (rev 106624)
@@ -1,43 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2010, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ejb3.async.spi.container;
-
-import java.util.concurrent.ExecutorService;
-
-/**
- * Contract of deployment attachment names for the EJB 3.1 Asynchronous
- * Implementation
- * 
- * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
- */
-public interface AttachmentNames
-{
-   // ------------------------------------------------------------------------------||
-   // Contracts --------------------------------------------------------------------||
-   // ------------------------------------------------------------------------------||
-   
-   /**
-    * Name of the asynchronous {@link ExecutorService} used to process incoming
-    * async invocations
-    */
-   String ASYNC_INVOCATION_PROCESSOR = "org.jboss.ejb3.async." + ExecutorService.class.getSimpleName();
-}

Modified: projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/container/remote/RemotableAsyncInvocationProcessor.java
===================================================================
--- projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/container/remote/RemotableAsyncInvocationProcessor.java	2010-07-13 03:12:17 UTC (rev 106623)
+++ projects/ejb3/components/async/trunk/spi/src/main/java/org/jboss/ejb3/async/spi/container/remote/RemotableAsyncInvocationProcessor.java	2010-07-13 05:37:34 UTC (rev 106624)
@@ -21,7 +21,7 @@
  */
 package org.jboss.ejb3.async.spi.container.remote;
 
-import org.jboss.ejb3.async.spi.container.AsyncInvocationProcessor;
+import org.jboss.ejb3.async.spi.AsyncInvocationContext;
 
 /**
  * RemotableAsyncInvocationProcessor
@@ -31,7 +31,7 @@
  * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
  * @version $Revision: $
  */
-public interface RemotableAsyncInvocationProcessor extends AsyncInvocationProcessor
+public interface RemotableAsyncInvocationProcessor extends AsyncInvocationContext
 {
 
    // --------------------------------------------------------------------------------||



More information about the jboss-cvs-commits mailing list