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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Mar 13 07:58:36 EDT 2008


Author: wolfc
Date: 2008-03-13 07:58:36 -0400 (Thu, 13 Mar 2008)
New Revision: 70811

Modified:
   projects/ejb3/trunk/core/build-test.xml
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/BaseSessionProxyFactory.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/StatefulRemoteProxy.java
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulRemoteProxyFactory.java
   projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/test/concurrent/unit/ConcurrentUnitTestCase.java
Log:
EJBTHREE-697: assigning id on createProxy (like local)

Modified: projects/ejb3/trunk/core/build-test.xml
===================================================================
--- projects/ejb3/trunk/core/build-test.xml	2008-03-13 11:41:19 UTC (rev 70810)
+++ projects/ejb3/trunk/core/build-test.xml	2008-03-13 11:58:36 UTC (rev 70811)
@@ -3209,20 +3209,6 @@
       </jar>
    </target>
 
-   <!--target name="concurrent"
-      description="Builds all jar files."
-      >
-
-      <mkdir dir="${build.lib}"/>
-
-      <jar jarfile="${build.lib}/concurrent-test.jar">
-         <fileset dir="${build.classes}">
-            <include name="org/jboss/ejb3/test/concurrent/**/*.class"/>
-            <include name="org/jboss/ejb3/test/concurrent/unit/*.class"/>
-         </fileset>
-      </jar>
-   </target-->
-
    <target name="descriptortypo"
       description="Builds all jar files."
       >
@@ -4147,6 +4133,7 @@
    </target>
    
    <target name="jars" depends="statefulproxyfactoryoverride, mdbsessionpoolclear, removedislocal, statelesscreation, defaultremotebindings, localfromremote, clusteredjms, entityoptimisticlocking, concurrentnaming, propertyreplacement, persistenceunits, appclient, tck5sec, invalidtxmdb, descriptortypo, libdeployment, homeinterface, arjuna, mdbtransactions, unauthenticatedprincipal, clusteredservice, invoker, classloader,
+      concurrent,
       circulardependency, jsp, timerdependency, servicedependency, servlet, stateless14, webservices, ear, ejbthree440,
       ejbthree454, ejbthree471, 
    	  ejbthree653, ejbthree670, ejbthree712, ejbthree724, ejbthree751,
@@ -4917,9 +4904,9 @@
       <antcall target="test" inheritRefs="true">
          <param name="test" value="descriptortypo"/>
       </antcall>
-      <!--antcall target="test" inheritRefs="true">
+      <antcall target="test" inheritRefs="true">
          <param name="test" value="concurrent"/>
-      </antcall-->
+      </antcall>
       <!--antcall target="test" inheritRefs="true">
          <param name="test" value="seam"/>
       </antcall-->

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/BaseSessionProxyFactory.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/BaseSessionProxyFactory.java	2008-03-13 11:41:19 UTC (rev 70810)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/BaseSessionProxyFactory.java	2008-03-13 11:58:36 UTC (rev 70811)
@@ -37,9 +37,8 @@
 import javax.ejb.Remote;
 import javax.ejb.RemoteHome;
 
-import org.jboss.ejb3.Container;
-import org.jboss.ejb3.Ejb3Registry;
 import org.jboss.ejb3.EJBContainer;
+import org.jboss.ejb3.Ejb3Registry;
 import org.jboss.ejb3.ProxyFactory;
 import org.jboss.ejb3.ProxyFactoryHelper;
 import org.jboss.ejb3.annotation.RemoteBinding;
@@ -58,7 +57,7 @@
    @SuppressWarnings("unused")
    private static final Logger log = Logger.getLogger(BaseSessionProxyFactory.class);
    
-   private EJBContainer container;
+   private SessionContainer container;
    protected String containerGuid;
    protected String containerClusterUid;
    protected boolean isClustered = false;
@@ -79,22 +78,22 @@
       throw new RuntimeException("NYI");
    }
    
-   protected void setContainer(Container container)
+   protected void setContainer(SessionContainer container)
    {
-      this.container = (EJBContainer)container;
+      this.container = container;
       this.containerGuid = Ejb3Registry.guid(container);
       this.containerClusterUid = Ejb3Registry.clusterUid(container);
       this.isClustered = container.isClustered();
    }
    
-   protected EJBContainer getContainer()
+   protected SessionContainer getContainer()
    {
       if (container == null)
       {
-         container = (EJBContainer)Ejb3Registry.findContainer(containerGuid);
+         container = (SessionContainer)Ejb3Registry.findContainer(containerGuid);
          
          if (container == null && isClustered)
-            container = (EJBContainer)Ejb3Registry.getClusterContainer(containerClusterUid);
+            container = (SessionContainer)Ejb3Registry.getClusterContainer(containerClusterUid);
       }
       
       return container;

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	2008-03-13 11:41:19 UTC (rev 70810)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulContainer.java	2008-03-13 11:58:36 UTC (rev 70811)
@@ -302,7 +302,7 @@
          Thread.currentThread().setContextClassLoader(classloader);
          StatefulBeanContext ctx = getCache().create(initTypes, initValues);
          // Since we return the key here, the context is not in use.
-         ctx.setInUse(false);
+         getCache().release(ctx);
          return ctx.getId();
       }
       finally

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulRemoteProxy.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulRemoteProxy.java	2008-03-13 11:41:19 UTC (rev 70810)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulRemoteProxy.java	2008-03-13 11:58:36 UTC (rev 70811)
@@ -23,9 +23,11 @@
 
 import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
+
 import javax.ejb.EJBMetaData;
 import javax.ejb.Handle;
 import javax.ejb.HomeHandle;
+
 import org.jboss.aop.Dispatcher;
 import org.jboss.aop.advice.Interceptor;
 import org.jboss.aop.util.MethodHashing;
@@ -34,7 +36,6 @@
 import org.jboss.aspects.asynch.AsynchProvider;
 import org.jboss.aspects.remoting.InvokeRemoteInterceptor;
 import org.jboss.ejb3.Container;
-import org.jboss.ejb3.Ejb3Registry;
 import org.jboss.ejb3.ProxyUtils;
 import org.jboss.ejb3.asynchronous.AsynchronousInterceptor;
 import org.jboss.ejb3.remoting.IsLocalInterceptor;
@@ -61,12 +62,6 @@
    private HomeHandle homeHandle;
    private EJBMetaData ejbMetaData;
 
-   public StatefulRemoteProxy(Container container, Interceptor[] interceptors, InvokerLocator uri)
-   {
-      super(container, interceptors);
-      this.uri = uri;
-   }
-
    public StatefulRemoteProxy(Container container, Interceptor[] interceptors, InvokerLocator uri, Object id)
    {
       super(container, interceptors);

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulRemoteProxyFactory.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulRemoteProxyFactory.java	2008-03-13 11:41:19 UTC (rev 70810)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulRemoteProxyFactory.java	2008-03-13 11:58:36 UTC (rev 70811)
@@ -189,17 +189,8 @@
    
    public Object createProxy()
    {
-      String stackName = "StatefulSessionClientInterceptors";
-      if (binding.interceptorStack() != null && !binding.interceptorStack().equals(""))
-      {
-         stackName = binding.interceptorStack();
-      }
-      AdviceStack stack = AspectManager.instance().getAdviceStack(stackName);
-      if (stack == null) throw new RuntimeException("unable to find interceptor stack: " + stackName);
-      StatefulRemoteProxy proxy = new StatefulRemoteProxy(getContainer(), stack.createInterceptors(getContainer().getAdvisor(), null), locator);
-
-      setEjb21Objects(proxy);
-      return constructProxy(proxy);
+      Object id = getContainer().createSession();
+      return createProxy(id);
    }
 
    protected StatefulHandleImpl getHandle()
@@ -218,6 +209,7 @@
          stackName = binding.interceptorStack();
       }
       AdviceStack stack = AspectManager.instance().getAdviceStack(stackName);
+      if (stack == null) throw new RuntimeException("unable to find interceptor stack: " + stackName);
       StatefulRemoteProxy proxy = new StatefulRemoteProxy(getContainer(), stack.createInterceptors(getContainer().getAdvisor(), null), locator, id);
       
       setEjb21Objects(proxy);

Modified: projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/test/concurrent/unit/ConcurrentUnitTestCase.java
===================================================================
--- projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/test/concurrent/unit/ConcurrentUnitTestCase.java	2008-03-13 11:41:19 UTC (rev 70810)
+++ projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/test/concurrent/unit/ConcurrentUnitTestCase.java	2008-03-13 11:58:36 UTC (rev 70811)
@@ -126,7 +126,7 @@
   
       Throwable t = eh.getUncaughtException();
       assertNotNull("No exception occured during a concurrent call", t);
-      fail("never comes here");
+      assertTrue("Expected a javax.ejb.ConcurrentAccessException", t instanceof ConcurrentAccessException);
    }
    
    public static Test suite() throws Exception




More information about the jboss-cvs-commits mailing list