[jboss-cvs] JBossAS SVN: r76850 - in projects/ejb3/trunk/proxy/src: main/java/org/jboss/ejb3/proxy/factory/session and 12 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sat Aug 9 07:32:34 EDT 2008


Author: ALRubinger
Date: 2008-08-09 07:32:34 -0400 (Sat, 09 Aug 2008)
New Revision: 76850

Modified:
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactory.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactoryBase.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactoryBase.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionLocalProxyFactory.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionProxyFactoryBase.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionRemoteProxyFactory.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionLocalProxyFactory.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionProxyFactoryBase.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionRemoteProxyFactory.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/ProxyInvocationHandlerBase.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/SessionProxyInvocationHandlerBase.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/SessionSpecProxyInvocationHandlerBase.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateful/StatefulLocalProxyInvocationHandler.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateful/StatefulProxyInvocationHandlerBase.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateful/StatefulRemoteProxyInvocationHandler.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateless/StatelessLocalProxyInvocationHandler.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateless/StatelessProxyInvocationHandlerBase.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateless/StatelessRemoteProxyInvocationHandler.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/invocation/InvokableContextStatefulRemoteProxyInvocationHack.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatefulSessionRegistrar.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatelessSessionRegistrar.java
   projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/container/SessionContainer.java
   projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/ProxyEqualityTestCaseBase.java
   projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase.java
   projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SlsbProxyEqualityTestCase.java
   projects/ejb3/trunk/proxy/src/test/resources/ejb3-interceptors-aop.xml
Log:
[EJBTHREE-1345] Correct the client-side interceptors on the invocation handlers, add notion of Container GUID to Proxy

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactory.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactory.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -44,14 +44,6 @@
     */
    String getName();
 
-   /**
-    * Returns the name of the InvokableContext (container)
-    * upon which Proxies will invoke
-    * 
-    * @return
-    */
-   String getContainerName();
-
    // --------------------------------------------------------------------------------||
    // Lifecycle Methods --------------------------------------------------------------||
    // --------------------------------------------------------------------------------||

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactoryBase.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactoryBase.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -59,8 +59,16 @@
     */
    private String name;
 
+   /**
+    * The name of the target container
+    */
    private String containerName;
 
+   /** 
+    * The globally-unique name of the target container 
+    */
+   private String containerGuid;
+
    private ClassLoader classloader;
 
    private Advisor advisor;
@@ -75,16 +83,18 @@
     * @param name The unique name for this ProxyFactory
     * @param containerName The name of the InvokableContext (container)
     *   upon which Proxies will invoke
+    * @param containerGuid The globally-unique name of the container
     * @param classloader The ClassLoader associated with the EJBContainer
     *       for which this ProxyFactory is to generate Proxies
     * @param advisor The Advisor for proxies created by this factory
     */
-   public ProxyFactoryBase(final String name, final String containerName, final ClassLoader classloader,
-         final Advisor advisor)
+   public ProxyFactoryBase(final String name, final String containerName, final String containerGuid,
+         final ClassLoader classloader, final Advisor advisor)
    {
       // Set properties
       this.setName(name);
       this.setContainerName(containerName);
+      this.setContainerGuid(containerGuid);
       this.setClassLoader(classloader);
       this.setAdvisor(advisor);
    }
@@ -233,7 +243,7 @@
       this.name = name;
    }
 
-   public String getContainerName()
+   protected String getContainerName()
    {
       return containerName;
    }
@@ -253,4 +263,14 @@
       this.advisor = advisor;
    }
 
+   protected String getContainerGuid()
+   {
+      return containerGuid;
+   }
+
+   private void setContainerGuid(String containerGuid)
+   {
+      this.containerGuid = containerGuid;
+   }
+
 }

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactoryBase.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactoryBase.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -99,16 +99,17 @@
     * @param name The unique name for this ProxyFactory
     * @param containerName The name of the InvokableContext (container)
     *   upon which Proxies will invoke
+    * @param containerGuid The globally-unique name of the container
     * @param metadata The metadata representing this Session Bean
     * @param classloader The ClassLoader associated with the SessionContainer
     *       for which this ProxyFactory is to generate Proxies
     * @param advisor The Advisor for proxies created by this factory
     */
-   public SessionProxyFactoryBase(final String name, final String containerName,
+   public SessionProxyFactoryBase(final String name, final String containerName, final String containerGuid,
          final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
    {
       // Call Super
-      super(name, containerName, classloader, advisor);
+      super(name, containerName, containerGuid, classloader, advisor);
 
       // Set Metadata
       this.setMetadata(metadata);

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionLocalProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionLocalProxyFactory.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionLocalProxyFactory.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -54,16 +54,17 @@
     * @param name The unique name for this ProxyFactory
     * @param containerName The name of the InvokableContext (container)
     *   upon which Proxies will invoke
+    * @param containerGuid The globally-unique name of the container
     * @param metadata The metadata representing this SLSB
     * @param classloader The ClassLoader associated with the StatelessContainer
     *       for which this ProxyFactory is to generate Proxies
     * @param advisor The Advisor for proxies created by this factory
     */
-   public StatefulSessionLocalProxyFactory(final String name, final String containerName,
+   public StatefulSessionLocalProxyFactory(final String name, final String containerName, final String containerGuid,
          final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
    {
       // Call Super
-      super(name, containerName, metadata, classloader, advisor);
+      super(name, containerName, containerGuid, metadata, classloader, advisor);
    }
 
    // --------------------------------------------------------------------------------||
@@ -111,13 +112,14 @@
    {
       // Obtain target container name
       String containerName = this.getContainerName();
+      String containerGuid = this.getContainerGuid();
 
       // Obtain interceptors
       Interceptor[] interceptors = this.getInterceptors();
 
       // Create
-      SessionProxyInvocationHandler handler = new StatefulLocalProxyInvocationHandler(containerName,
-            businessInterfaceName, interceptors);
+      SessionProxyInvocationHandler handler = new StatefulLocalProxyInvocationHandler(containerName, containerGuid,
+            interceptors, businessInterfaceName);
 
       // Return
       return handler;

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionProxyFactoryBase.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionProxyFactoryBase.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -74,16 +74,17 @@
     * @param name The unique name for this ProxyFactory
     * @param containerName The name of the InvokableContext (container)
     *   upon which Proxies will invoke
+    * @param containerGuid The globally-unique name of the container
     * @param metadata The metadata representing this SFSB
     * @param classloader The ClassLoader associated with the StatelessContainer
     *       for which this ProxyFactory is to generate Proxies
     * @param advisor The Advisor for proxies created by this factory
     */
-   public StatefulSessionProxyFactoryBase(final String name, final String containerName,
+   public StatefulSessionProxyFactoryBase(final String name, final String containerName, final String containerGuid,
          final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
    {
       // Call Super
-      super(name, containerName, metadata, classloader, advisor);
+      super(name, containerName, containerGuid, metadata, classloader, advisor);
    }
 
    // --------------------------------------------------------------------------------||

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionRemoteProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionRemoteProxyFactory.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionRemoteProxyFactory.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -68,17 +68,18 @@
     * @param name The unique name for this ProxyFactory
     * @param containerName The name of the InvokableContext (container)
     *   upon which Proxies will invoke
+    * @param containerGuid The globally-unique name of the container
     * @param metadata The metadata representing this SFSB
     * @param classloader The ClassLoader associated with the StatelessContainer
     *       for which this ProxyFactory is to generate Proxies
     * @param url The URL to use for remoting
     * @param advisor The Advisor for proxies created by this factory
     */
-   public StatefulSessionRemoteProxyFactory(final String name, final String containerName,
+   public StatefulSessionRemoteProxyFactory(final String name, final String containerName, final String containerGuid,
          final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final String url, final Advisor advisor)
    {
       // Call Super
-      super(name, containerName, metadata, classloader, advisor);
+      super(name, containerName, containerGuid, metadata, classloader, advisor);
       this.setUrl(url);
    }
 
@@ -140,13 +141,14 @@
       // Obtain target properties
       String containterName = this.getContainerName();
       String url = this.getUrl();
+      String containerGuid = this.getContainerGuid();
 
       // Get Interceptors
       Interceptor[] interceptors = this.getInterceptors();
 
       // Create
-      SessionProxyInvocationHandler handler = new StatefulRemoteProxyInvocationHandler(containterName,
-            businessInterfaceName, url, interceptors);
+      SessionProxyInvocationHandler handler = new StatefulRemoteProxyInvocationHandler(containterName, containerGuid,
+            interceptors, businessInterfaceName, url);
 
       // Return
       return handler;

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionLocalProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionLocalProxyFactory.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionLocalProxyFactory.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -57,16 +57,17 @@
     * @param name The unique name for this ProxyFactory
     * @param containerName The name of the InvokableContext (container)
     *   upon which Proxies will invoke
+    * @param containerGuid The globally-unique name of the container
     * @param metadata The metadata representing this SLSB
     * @param classloader The ClassLoader associated with the StatelessContainer
     *       for which this ProxyFactory is to generate Proxies
     * @param advisor The Advisor for proxies created by this factory
     */
-   public StatelessSessionLocalProxyFactory(final String name, final String containerName,
+   public StatelessSessionLocalProxyFactory(final String name, final String containerName, final String containerGuid,
          final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
    {
       // Call Super
-      super(name, containerName, metadata, classloader, advisor);
+      super(name, containerName, containerGuid, metadata, classloader, advisor);
    }
 
    // --------------------------------------------------------------------------------||
@@ -114,13 +115,14 @@
    {
       // Obtain container name
       String containerName = this.getContainerName();
+      String containerGuid = this.getContainerGuid();
 
       // Get Interceptors
       Interceptor[] interceptors = this.getInterceptors();
 
       // Create
-      SessionProxyInvocationHandler handler = new StatelessLocalProxyInvocationHandler(containerName,
-            businessInterfaceName, interceptors);
+      SessionProxyInvocationHandler handler = new StatelessLocalProxyInvocationHandler(containerName, containerGuid,
+            interceptors, businessInterfaceName);
 
       // Return
       return handler;

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionProxyFactoryBase.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionProxyFactoryBase.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -55,16 +55,17 @@
     * @param name The unique name for this ProxyFactory
     * @param containerName The name of the InvokableContext (container)
     *   upon which Proxies will invoke
+    * @param containerGuid The globally-unique name of the container
     * @param metadata The metadata representing this SLSB
     * @param classloader The ClassLoader associated with the StatelessContainer
     *       for which this ProxyFactory is to generate Proxies
     * @param advisor The Advisor for proxies created by this factory
     */
-   public StatelessSessionProxyFactoryBase(final String name, final String containerName,
+   public StatelessSessionProxyFactoryBase(final String name, final String containerName, final String containerGuid,
          final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
    {
       // Call Super
-      super(name, containerName, metadata, classloader, advisor);
+      super(name, containerName, containerGuid, metadata, classloader, advisor);
    }
 
    // --------------------------------------------------------------------------------||

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionRemoteProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionRemoteProxyFactory.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionRemoteProxyFactory.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -68,17 +68,18 @@
     * @param name The unique name for this ProxyFactory
     * @param containerName The name of the InvokableContext (container)
     *   upon which Proxies will invoke
+    * @param containerGuid The globally-unique name of the container
     * @param metadata The metadata representing this SLSB
     * @param classloader The ClassLoader associated with the StatelessContainer
     *       for which this ProxyFactory is to generate Proxies
     * @param url The URL to use for remoting
     * @param advisor The Advisor for proxies created by this factory
     */
-   public StatelessSessionRemoteProxyFactory(final String name, final String containerName,
+   public StatelessSessionRemoteProxyFactory(final String name, final String containerName, final String containerGuid,
          final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final String url, final Advisor advisor)
    {
       // Call Super
-      super(name, containerName, metadata, classloader, advisor);
+      super(name, containerName, containerGuid, metadata, classloader, advisor);
       this.setUrl(url);
    }
 

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/ProxyInvocationHandlerBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/ProxyInvocationHandlerBase.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/ProxyInvocationHandlerBase.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -97,6 +97,11 @@
     */
    private String containerName;
 
+   /**
+    * The Globally-unique Container ID
+    */
+   private String containerGuid;
+
    // ------------------------------------------------------------------------------||
    // Constructor ------------------------------------------------------------------||
    // ------------------------------------------------------------------------------||
@@ -105,11 +110,14 @@
     * Constructor
     * 
     * @param containerName The name of the target container
+    * @param containerGuid The globally-unique name of the container
     * @param interceptors The interceptors to apply to invocations upon this handler
     */
-   protected ProxyInvocationHandlerBase(final String containerName, final Interceptor[] interceptors)
+   protected ProxyInvocationHandlerBase(final String containerName, final String containerGuid,
+         final Interceptor[] interceptors)
    {
       this.setContainerName(containerName);
+      this.setContainerGuid(containerGuid);
       this.setInterceptors(interceptors);
    }
 
@@ -199,8 +207,18 @@
       return interceptors;
    }
 
-   private void setInterceptors(Interceptor[] interceptors)
+   private void setInterceptors(final Interceptor[] interceptors)
    {
       this.interceptors = interceptors;
    }
+
+   protected String getContainerGuid()
+   {
+      return containerGuid;
+   }
+
+   private void setContainerGuid(final String containerGuid)
+   {
+      this.containerGuid = containerGuid;
+   }
 }

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/SessionProxyInvocationHandlerBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/SessionProxyInvocationHandlerBase.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/SessionProxyInvocationHandlerBase.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -60,11 +60,13 @@
     * Constructor 
     * 
     * @param containerName The name of the target Container
+    * @param containerGuid The globally-unique name of the container
     * @param interceptors The interceptors to apply to invocations upon this handler
     */
-   protected SessionProxyInvocationHandlerBase(final String containerName, final Interceptor[] interceptors)
+   protected SessionProxyInvocationHandlerBase(final String containerName, final String containerGuid,
+         final Interceptor[] interceptors)
    {
-      super(containerName, interceptors);
+      super(containerName, containerGuid, interceptors);
    }
 
    /**

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/SessionSpecProxyInvocationHandlerBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/SessionSpecProxyInvocationHandlerBase.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/SessionSpecProxyInvocationHandlerBase.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -69,15 +69,16 @@
     * Constructor
     * 
     * @param containerName The name under which the target container is registered
+    * @param containerGuid The globally-unique name of the container
     * @param businessInterfaceType The possibly null businessInterfaceType
     *   marking this invocation hander as specific to a given
     *   EJB3 Business Interface
     * @param interceptors The interceptors to apply to invocations upon this handler
     */
-   protected SessionSpecProxyInvocationHandlerBase(final String containerName, final String businessInterfaceType,
-         final Interceptor[] interceptors)
+   protected SessionSpecProxyInvocationHandlerBase(final String containerName, final String containerGuid,
+         final Interceptor[] interceptors, final String businessInterfaceType)
    {
-      super(containerName, interceptors);
+      super(containerName, containerGuid, interceptors);
       this.setBusinessInterfaceType(businessInterfaceType);
    }
 

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateful/StatefulLocalProxyInvocationHandler.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateful/StatefulLocalProxyInvocationHandler.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateful/StatefulLocalProxyInvocationHandler.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -49,15 +49,16 @@
     * Constructor
     * 
     * @param containerName The name of the target container
+    * @param containerGuid The globally-unique name of the container
     * @param businessInterfaceType The possibly null businessInterfaceType
     *   marking this invocation hander as specific to a given
     *   EJB3 Business Interface
     * @param interceptors The interceptors to apply to invocations upon this handler
     */
-   public StatefulLocalProxyInvocationHandler(final String containerName, final String businessInterfaceType,
-         final Interceptor[] interceptors)
+   public StatefulLocalProxyInvocationHandler(final String containerName, final String containerGuid,
+         final Interceptor[] interceptors, final String businessInterfaceType)
    {
-      super(containerName, businessInterfaceType, interceptors);
+      super(containerName, containerGuid, interceptors, businessInterfaceType);
    }
 
    // --------------------------------------------------------------------------------||

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateful/StatefulProxyInvocationHandlerBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateful/StatefulProxyInvocationHandlerBase.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateful/StatefulProxyInvocationHandlerBase.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -25,19 +25,13 @@
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Proxy;
 import java.net.MalformedURLException;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
 
 import org.jboss.aop.advice.Interceptor;
-import org.jboss.aspects.remoting.InvokeRemoteInterceptor;
 import org.jboss.aspects.remoting.PojiProxy;
 import org.jboss.ejb3.proxy.container.InvokableContext;
 import org.jboss.ejb3.proxy.handler.session.SessionSpecProxyInvocationHandlerBase;
 import org.jboss.ejb3.proxy.intf.StatefulSessionProxy;
 import org.jboss.ejb3.proxy.invocation.InvokableContextStatefulRemoteProxyInvocationHack;
-import org.jboss.ejb3.proxy.remoting.IsLocalProxyFactoryInterceptor;
 import org.jboss.logging.Logger;
 import org.jboss.remoting.InvokerLocator;
 import org.jboss.util.NotImplementedException;
@@ -81,15 +75,16 @@
     * Constructor
     * 
     * @param containerName The name of the target container
+    * @param containerGuid The globally-unique name of the container
     * @param businessInterfaceType The possibly null businessInterfaceType
     *   marking this invocation hander as specific to a given
     *   EJB3 Business Interface
     * @param interceptors The interceptors to apply to invocations upon this handler
     */
-   public StatefulProxyInvocationHandlerBase(final String containerName, final String businessInterfaceType,
-         final Interceptor[] interceptors)
+   public StatefulProxyInvocationHandlerBase(final String containerName, final String containerGuid,
+         final Interceptor[] interceptors, final String businessInterfaceType)
    {
-      super(containerName, businessInterfaceType, interceptors);
+      super(containerName, containerGuid, interceptors, businessInterfaceType);
    }
 
    // ------------------------------------------------------------------------------||
@@ -228,27 +223,18 @@
        * Define interceptors
        */
 
-      // Manually define a few
-      Interceptor[] interceptorsManuallyDefined =
-      {IsLocalProxyFactoryInterceptor.singleton, InvokeRemoteInterceptor.singleton};
-
       // Get interceptors from the stack
-      Interceptor[] interceptorsFromStack = this.getInterceptors();
+      Interceptor[] interceptors = this.getInterceptors();
 
-      // Merge
-      List<Interceptor> interceptorsManuallyDefinedList = Arrays.asList(interceptorsManuallyDefined);
-      List<Interceptor> interceptorsFromStackList = Arrays.asList(interceptorsFromStack);
-      Set<Interceptor> mergedInterceptors = new HashSet<Interceptor>();
-      mergedInterceptors.addAll(interceptorsManuallyDefinedList);
-      mergedInterceptors.addAll(interceptorsFromStackList);
-      Interceptor[] interceptors = mergedInterceptors.toArray(new Interceptor[]
-      {});
+      /*
+       * Create Proxy
+       */
 
       // Create a POJI Proxy to the Container
       String containerName = this.getContainerName();
       assert containerName != null && containerName.trim().length() > 0 : "Container Name must be set";
-      PojiProxy handler = new InvokableContextStatefulRemoteProxyInvocationHack(this.getContainerName(), locator,
-            interceptors, this.getSessionId());
+      PojiProxy handler = new InvokableContextStatefulRemoteProxyInvocationHack(this.getContainerName(), this
+            .getContainerGuid(), locator, interceptors, this.getSessionId());
       Class<?>[] interfaces = new Class<?>[]
       {InvokableContext.class};
       InvokableContext container = (InvokableContext) Proxy.newProxyInstance(InvokableContext.class.getClassLoader(),

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateful/StatefulRemoteProxyInvocationHandler.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateful/StatefulRemoteProxyInvocationHandler.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateful/StatefulRemoteProxyInvocationHandler.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -55,16 +55,17 @@
     * Constructor
     * 
     * @param containerName The name of the target container
+    * @param containerGuid The globally-unique name of the container
     * @param businessInterfaceType The possibly null businessInterfaceType
     *   marking this invocation hander as specific to a given
     *   EJB3 Business Interface
     * @param url The URL to the Remote Host
     * @param interceptors The interceptors to apply to invocations upon this handler
     */
-   public StatefulRemoteProxyInvocationHandler(final String containerName, final String businessInterfaceType,
-         final String url, final Interceptor[] interceptors)
+   public StatefulRemoteProxyInvocationHandler(final String containerName, final String containerGuid,
+         final Interceptor[] interceptors, final String businessInterfaceType, final String url)
    {
-      super(containerName, businessInterfaceType, interceptors);
+      super(containerName, containerGuid, interceptors, businessInterfaceType);
       this.setUrl(url);
    }
 

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateless/StatelessLocalProxyInvocationHandler.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateless/StatelessLocalProxyInvocationHandler.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateless/StatelessLocalProxyInvocationHandler.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -49,15 +49,16 @@
     * Constructor
     * 
     * @param containerName The name of the target Container
+    * @param containerGuid The globally-unique name of the container
     * @param businessInterfaceType The possibly null businessInterfaceType
     *   marking this invocation hander as specific to a given
     *   EJB3 Business Interface
     * @param interceptors The interceptors to apply to invocations upon this handler
     */
-   public StatelessLocalProxyInvocationHandler(final String containerName, final String businessInterfaceType,
-         final Interceptor[] interceptors)
+   public StatelessLocalProxyInvocationHandler(final String containerName, final String containerGuid,
+         final Interceptor[] interceptors, final String businessInterfaceType)
    {
-      super(containerName, businessInterfaceType, interceptors);
+      super(containerName, containerGuid, interceptors, businessInterfaceType);
    }
 
    // --------------------------------------------------------------------------------||

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateless/StatelessProxyInvocationHandlerBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateless/StatelessProxyInvocationHandlerBase.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateless/StatelessProxyInvocationHandlerBase.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -61,26 +61,29 @@
     * Constructor
     * 
     * @param containerName
+    * @param containerGuid The globally-unique name of the container
     * @param interceptors The interceptors to apply to invocations upon this handler
     */
-   public StatelessProxyInvocationHandlerBase(final String containerName, final Interceptor[] interceptors)
+   public StatelessProxyInvocationHandlerBase(final String containerName, final String containerGuid,
+         final Interceptor[] interceptors)
    {
-      this(containerName, null, interceptors);
+      this(containerName, containerGuid, interceptors, null);
    }
 
    /**
     * Constructor
     * 
     * @param containerName The name of the target Container
+    * @param containerGuid The globally-unique name of the container
     * @param businessInterfaceType The possibly null businessInterfaceType
     *   marking this invocation hander as specific to a given
     *   EJB3 Business Interface
     * @param interceptors The interceptors to apply to invocations upon this handler
     */
-   public StatelessProxyInvocationHandlerBase(final String containerName, final String businessInterfaceType,
-         final Interceptor[] interceptors)
+   public StatelessProxyInvocationHandlerBase(final String containerName, final String containerGuid,
+         final Interceptor[] interceptors, final String businessInterfaceType)
    {
-      super(containerName, businessInterfaceType, interceptors);
+      super(containerName, containerGuid, interceptors, businessInterfaceType);
    }
 
    // ------------------------------------------------------------------------------||

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateless/StatelessRemoteProxyInvocationHandler.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateless/StatelessRemoteProxyInvocationHandler.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/stateless/StatelessRemoteProxyInvocationHandler.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -24,17 +24,11 @@
 import java.io.Serializable;
 import java.lang.reflect.Proxy;
 import java.net.MalformedURLException;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
 
 import org.jboss.aop.advice.Interceptor;
-import org.jboss.aspects.remoting.InvokeRemoteInterceptor;
 import org.jboss.aspects.remoting.PojiProxy;
 import org.jboss.ejb3.proxy.container.InvokableContext;
 import org.jboss.ejb3.proxy.invocation.InvokableContextStatefulRemoteProxyInvocationHack;
-import org.jboss.ejb3.proxy.remoting.IsLocalProxyFactoryInterceptor;
 import org.jboss.remoting.InvokerLocator;
 
 /**
@@ -124,25 +118,16 @@
        * Define interceptors
        */
 
-      // Manually define a few
-      Interceptor[] interceptorsManuallyDefined =
-      {IsLocalProxyFactoryInterceptor.singleton, InvokeRemoteInterceptor.singleton};
-
       // Get interceptors from the stack
-      Interceptor[] interceptorsFromStack = this.getInterceptors();
+      Interceptor[] interceptors = this.getInterceptors();
 
-      // Merge
-      List<Interceptor> interceptorsManuallyDefinedList = Arrays.asList(interceptorsManuallyDefined);
-      List<Interceptor> interceptorsFromStackList = Arrays.asList(interceptorsFromStack);
-      Set<Interceptor> mergedInterceptors = new HashSet<Interceptor>();
-      mergedInterceptors.addAll(interceptorsManuallyDefinedList);
-      mergedInterceptors.addAll(interceptorsFromStackList);
-      Interceptor[] interceptors = mergedInterceptors.toArray(new Interceptor[]
-      {});
+      /*
+       * Create a Proxy
+       */
 
       // Create a POJI Proxy to the Container
-      PojiProxy handler = new InvokableContextStatefulRemoteProxyInvocationHack(this.getContainerName(), locator,
-            interceptors, null);
+      PojiProxy handler = new InvokableContextStatefulRemoteProxyInvocationHack(this.getContainerName(), this
+            .getContainerGuid(), locator, interceptors, null);
       Class<?>[] interfaces = new Class<?>[]
       {InvokableContext.class};
       InvokableContext container = (InvokableContext) Proxy.newProxyInstance(InvokableContext.class.getClassLoader(),

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/invocation/InvokableContextStatefulRemoteProxyInvocationHack.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/invocation/InvokableContextStatefulRemoteProxyInvocationHack.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/invocation/InvokableContextStatefulRemoteProxyInvocationHack.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -71,21 +71,28 @@
     */
    private Serializable sessionId;
 
+   /**
+    * The Globally-Unique ID of the target Container
+    */
+   private String containerGuid;
+
    // --------------------------------------------------------------------------------||
    // Constructor --------------------------------------------------------------------||
    // --------------------------------------------------------------------------------||
 
-   public InvokableContextStatefulRemoteProxyInvocationHack(Object oid, InvokerLocator uri, Interceptor[] interceptors,
-         Serializable sessionId)
+   public InvokableContextStatefulRemoteProxyInvocationHack(Object oid, String containerGuid, InvokerLocator uri,
+         Interceptor[] interceptors, Serializable sessionId)
    {
       // Call Super Implementation
       super(oid, uri, interceptors);
 
       // Some sanity checks
       assert oid != null : "Specified OID is null";
+      assert containerGuid != null : "Specified Container GUID is null";
 
       // Set additional properties
       this.setSessionId(sessionId);
+      this.setContainerGuid(containerGuid);
    }
 
    // --------------------------------------------------------------------------------||
@@ -153,14 +160,14 @@
        * 
        * This is going to be intercepted by the Container's "dynamicInvoke"
        * because the Container itself will be registered w/ Remoting Dispatcher
-       * via ProxyTestClassProxyHack, an indirection to allow the proper CL to be set
+       * via ProxyTestClassProxyHack
        */
       MethodInvocation sri = new StatefulRemoteInvocation(this.getInterceptors(), hash, dynamicInvokeMethod,
             dynamicInvokeMethod, null, this.getSessionId());
 
       // Manually add metadata for invoked method
       sri.getMetaData().addMetaData(SessionSpecRemotingMetadata.TAG_SESSION_INVOCATION,
-            SessionSpecRemotingMetadata.KEY_INVOKED_METHOD, serializableMethod);
+            SessionSpecRemotingMetadata.KEY_INVOKED_METHOD, serializableMethod, PayloadKey.AS_IS);
 
       return sri;
    }
@@ -187,7 +194,7 @@
 
       // Add Container Name
       //FIXME Hardcoded Strings bad, IsLocalInterceptor should be sharing these references or otherwise accessible somehow
-      methodInvocation.getMetaData().addMetaData("IS_LOCAL", "GUID", this.getOid());
+      methodInvocation.getMetaData().addMetaData("IS_LOCAL", "GUID", this.getContainerGuid(), PayloadKey.AS_IS);
 
    }
 
@@ -220,4 +227,14 @@
       this.sessionId = sessionId;
    }
 
+   protected String getContainerGuid()
+   {
+      return containerGuid;
+   }
+
+   private void setContainerGuid(String containerGuid)
+   {
+      this.containerGuid = containerGuid;
+   }
+
 }

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -36,7 +36,6 @@
 import org.jboss.ejb3.common.registrar.spi.DuplicateBindException;
 import org.jboss.ejb3.common.registrar.spi.Ejb3RegistrarLocator;
 import org.jboss.ejb3.common.string.StringUtils;
-import org.jboss.ejb3.proxy.container.InvokableContext;
 import org.jboss.ejb3.proxy.factory.ProxyFactory;
 import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
 import org.jboss.ejb3.proxy.objectfactory.ProxyFactoryReferenceAddressTypes;
@@ -142,10 +141,11 @@
     * @param smd
     * @param cl The CL of the Container
     * @param containerName The name under which the target container is registered
+    * @param containerGuid The globally-unique name of the container
     * @param advisor The advisor to use for generated proxies
     */
    public void bindEjb(final Context context, final JBossSessionBeanMetaData smd, final ClassLoader cl,
-         final String containerName, final Advisor advisor)
+         final String containerName, final String containerGuid, final Advisor advisor)
    {
       // Log 
       String ejbName = smd.getEjbName();
@@ -198,8 +198,8 @@
          }
          // Create and register a remote proxy factory
          String remoteProxyFactoryKey = this.getProxyFactoryRegistryKey(smd, false);
-         SessionProxyFactory factory = this.createRemoteProxyFactory(remoteProxyFactoryKey, containerName, smd, cl,
-               url, advisor);
+         SessionProxyFactory factory = this.createRemoteProxyFactory(remoteProxyFactoryKey, containerName,
+               containerGuid, smd, cl, url, advisor);
          this.registerProxyFactory(remoteProxyFactoryKey, factory, smd);
 
          // Initialize Reference Addresses to attach to default remote JNDI Reference
@@ -298,8 +298,8 @@
       {
          // Create and register a local proxy factory
          String localProxyFactoryKey = this.getProxyFactoryRegistryKey(smd, true);
-         SessionProxyFactory factory = this.createLocalProxyFactory(localProxyFactoryKey, containerName, smd, cl,
-               advisor);
+         SessionProxyFactory factory = this.createLocalProxyFactory(localProxyFactoryKey, containerName, containerGuid,
+               smd, cl, advisor);
          this.registerProxyFactory(localProxyFactoryKey, factory, smd);
 
          // Initialize Reference Addresses to attach to default local JNDI Reference
@@ -522,12 +522,13 @@
     * @param name The unique name for the ProxyFactory
     * @param containerName The name of the Container upon which Proxies 
     *   from the returned ProxyFactory will invoke
+    * @param containerGuid The globally-unique name of the container
     * @param smd The metadata representing this Session EJB
     * @param cl The ClassLoader for this EJB Container
     * @param advisor The Advisor for proxies created by this factory
     */
    protected abstract SessionProxyFactory createLocalProxyFactory(final String name, final String containerName,
-         final JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor);
+         final String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor);
 
    /**
     * Creates and returns a new remote proxy factory for this Session Bean
@@ -535,13 +536,15 @@
     * @param name The unique name for the ProxyFactory
     * @param containerName The name of the Container upon which Proxies 
     *   from the returned ProxyFactory will invoke
+    * @param containerGuid The globally-unique name of the container
     * @param smd The metadata representing this Session EJB
     * @param cl The ClassLoader for this EJB Container
     * @param url The URL to use for Remoting
     * @param advisor The Advisor for proxies created by this factory
     */
    protected abstract SessionProxyFactory createRemoteProxyFactory(final String name, final String containerName,
-         final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url, final Advisor advisor);
+         final String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url,
+         final Advisor advisor);
 
    // --------------------------------------------------------------------------------||
    // Helper Methods -----------------------------------------------------------------||

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatefulSessionRegistrar.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatefulSessionRegistrar.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatefulSessionRegistrar.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -73,15 +73,16 @@
     * @param name The unique name for the ProxyFactory
     * @param containerName The name of the Container upon which Proxies 
     *   from the returned ProxyFactory will invoke
+    * @param containerGuid The globally-unique name of the container
     * @param smd The metadata representing this SFSB
     * @param cl The ClassLoader for this EJB Container
     * @param advisor The Advisor for proxies created by this factory
     */
    @Override
    protected SessionProxyFactory createLocalProxyFactory(final String name, final String containerName,
-         final JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor)
+         final String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor)
    {
-      return new StatefulSessionLocalProxyFactory(name, containerName, smd, cl, advisor);
+      return new StatefulSessionLocalProxyFactory(name, containerName, containerGuid, smd, cl, advisor);
    }
 
    /**
@@ -90,6 +91,7 @@
     * @param name The unique name for the ProxyFactory
     * @param containerName The name of the Container upon which Proxies 
     *   from the returned ProxyFactory will invoke
+    * @param containerGuid The globally-unique name of the container
     * @param smd The metadata representing this SFSB
     * @param cl The ClassLoader for this EJB Container
     * @param url The URL to use for Remoting
@@ -97,10 +99,12 @@
     */
    @Override
    protected SessionProxyFactory createRemoteProxyFactory(final String name, final String containerName,
-         final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url, final Advisor advisor)
+         final String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url,
+         final Advisor advisor)
    {
       // Create
-      SessionProxyFactory factory = new StatefulSessionRemoteProxyFactory(name, containerName, smd, cl, url, advisor);
+      SessionProxyFactory factory = new StatefulSessionRemoteProxyFactory(name, containerName, containerGuid, smd, cl,
+            url, advisor);
 
       // Register with Remoting
       log.debug("Registering with Remoting Dispatcher under name \"" + factory.getName() + "\": " + factory);

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatelessSessionRegistrar.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatelessSessionRegistrar.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatelessSessionRegistrar.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -72,15 +72,17 @@
     * @param name The unique name for the ProxyFactory
     * @param containerName The name of the Container upon which Proxies 
     *   from the returned ProxyFactory will invoke
+    * @param containerGuid The globally-unique name of the container
+    * @param containerGuid The globally-unique name of the container
     * @param smd The metadata representing this SLSB
     * @param cl The ClassLoader for this EJB Container
     * @param advisor The Advisor for proxies created by this factory
     */
    @Override
    protected SessionProxyFactory createLocalProxyFactory(final String name, final String containerName,
-         final JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor)
+         final String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor)
    {
-      return new StatelessSessionLocalProxyFactory(name, containerName, smd, cl, advisor);
+      return new StatelessSessionLocalProxyFactory(name, containerName, containerGuid, smd, cl, advisor);
    }
 
    /**
@@ -89,6 +91,7 @@
     * @param name The unique name for the ProxyFactory
     * @param containerName The name of the Container upon which Proxies 
     *   from the returned ProxyFactory will invoke
+    * @param containerGuid The globally-unique name of the container
     * @param smd The metadata representing this Session EJB
     * @param cl The ClassLoader for this EJB Container
     * @param url The URL to use for Remoting
@@ -96,10 +99,12 @@
     */
    @Override
    protected SessionProxyFactory createRemoteProxyFactory(final String name, final String containerName,
-         final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url, final Advisor advisor)
+         final String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url,
+         final Advisor advisor)
    {
       // Create
-      SessionProxyFactory factory = new StatelessSessionRemoteProxyFactory(name, containerName, smd, cl, url, advisor);
+      SessionProxyFactory factory = new StatelessSessionRemoteProxyFactory(name, containerName, containerGuid, smd, cl,
+            url, advisor);
 
       // Register with Remoting
       log.debug("Registering with Remoting Dispatcher under name \"" + factory.getName() + "\": " + factory);

Modified: projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/container/SessionContainer.java
===================================================================
--- projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/container/SessionContainer.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/container/SessionContainer.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -310,7 +310,7 @@
       {
          this.setJndiRegistrar(registrar);
          registrar.bindEjb(this.getJndiContext(), this.getMetaData(), this.getClassLoader(), this.getName(), this
-               .getAdvisor());
+               .getName(), this.getAdvisor());
       }
       else
       {

Modified: projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/ProxyEqualityTestCaseBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/ProxyEqualityTestCaseBase.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/ProxyEqualityTestCaseBase.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -25,8 +25,10 @@
 
 import junit.framework.TestCase;
 
+import org.jboss.aop.Advisor;
 import org.jboss.aop.AspectManager;
 import org.jboss.aop.AspectXmlLoader;
+import org.jboss.aop.ClassAdvisor;
 import org.jboss.ejb3.common.registrar.plugin.mc.Ejb3McRegistrar;
 import org.jboss.ejb3.common.registrar.spi.Ejb3RegistrarLocator;
 import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
@@ -65,6 +67,11 @@
     */
    private static String containerName;
 
+   /**
+    * The Advisor for these tests
+    */
+   protected static Advisor advisor = null;
+
    // --------------------------------------------------------------------------------||
    // Tests --------------------------------------------------------------------------||
    // --------------------------------------------------------------------------------||
@@ -133,7 +140,9 @@
                + " with definitions from XML as file " + FILENAME_EJB3_INTERCEPTORS_AOP + " could not be found");
       }
       AspectXmlLoader.deployXML(url);
-
+      AspectManager manager = AspectManager.instance();
+      Advisor advisor = new ClassAdvisor(ProxyEqualityTestCaseBase.class, manager);
+      ProxyEqualityTestCaseBase.advisor = advisor;
    }
 
    @AfterClass

Modified: projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -204,8 +204,8 @@
 
       // Make a Local Proxy Factory
       StatefulSessionLocalProxyFactory factory = new StatefulSessionLocalProxyFactory(
-            StatefulSessionLocalProxyFactory.class.getName(), sfsb.getName(), sfsb.getMetaData(),
-            sfsb.getClassLoader(), null);
+            StatefulSessionLocalProxyFactory.class.getName(), sfsb.getName(), sfsb.getName(), sfsb.getMetaData(), sfsb
+                  .getClassLoader(), null);
 
       // Start
       factory.start();
@@ -228,8 +228,8 @@
 
       // Make a Remote Proxy Factory
       StatefulSessionRemoteProxyFactory factory = new StatefulSessionRemoteProxyFactory(
-            StatefulSessionRemoteProxyFactory.class.getName(), sfsb.getName(), sfsb.getMetaData(), sfsb
-                  .getClassLoader(), "socket://localhost:3874", null);
+            StatefulSessionRemoteProxyFactory.class.getName(), sfsb.getName(), sfsb.getName(), sfsb.getMetaData(), sfsb
+                  .getClassLoader(), "socket://localhost:3874", ProxyEqualityTestCaseBase.advisor);
 
       // Start
       factory.start();

Modified: projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SlsbProxyEqualityTestCase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SlsbProxyEqualityTestCase.java	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SlsbProxyEqualityTestCase.java	2008-08-09 11:32:34 UTC (rev 76850)
@@ -151,8 +151,8 @@
 
       // Create the Factory
       StatelessSessionLocalProxyFactory factory = new StatelessSessionLocalProxyFactory(
-            StatelessSessionLocalProxyFactory.class.getName(), container.getName(), container.getMetaData(), container
-                  .getClassLoader(), null);
+            StatelessSessionLocalProxyFactory.class.getName(), container.getName(), container.getName(), container
+                  .getMetaData(), container.getClassLoader(), null);
 
       // Start
       factory.start();
@@ -175,8 +175,8 @@
 
       // Create the Factory
       StatelessSessionRemoteProxyFactory factory = new StatelessSessionRemoteProxyFactory(
-            StatelessSessionRemoteProxyFactory.class.getName(), container.getName(), container.getMetaData(), container
-                  .getClassLoader(), null, null);
+            StatelessSessionRemoteProxyFactory.class.getName(), container.getName(), container.getName(), container
+                  .getMetaData(), container.getClassLoader(), null, ProxyEqualityTestCaseBase.advisor);
 
       // Start
       factory.start();

Modified: projects/ejb3/trunk/proxy/src/test/resources/ejb3-interceptors-aop.xml
===================================================================
--- projects/ejb3/trunk/proxy/src/test/resources/ejb3-interceptors-aop.xml	2008-08-09 11:23:08 UTC (rev 76849)
+++ projects/ejb3/trunk/proxy/src/test/resources/ejb3-interceptors-aop.xml	2008-08-09 11:32:34 UTC (rev 76850)
@@ -7,31 +7,39 @@
  -->
 <aop xmlns="urn:jboss:aop-beans:1.0">
 
-
     <!-- 
     
-    Client Interceptor Stack Definitions
+    Interceptor Definitions
     
-     -->
+    -->
 
-   <stack name="ServiceClientInterceptors">
+    <interceptor class="org.jboss.aspects.remoting.InvokeRemoteInterceptor" scope="PER_VM"/>
 
-   </stack>
 
-   <stack name="AsynchronousStatelessSessionClientInterceptors">
+    <!-- 
+    
+    Client Interceptor Stack Definitions
+    
+    -->
 
-   </stack>
+    <stack name="ServiceClientInterceptors">
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+    </stack>
 
-   <stack name="AsynchronousStatefulSessionClientInterceptors">
+    <stack name="AsynchronousStatelessSessionClientInterceptors">
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+    </stack>
 
-   </stack>
+    <stack name="AsynchronousStatefulSessionClientInterceptors">
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+    </stack>
 
-   <stack name="StatelessSessionClientInterceptors">
+    <stack name="StatelessSessionClientInterceptors">
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+    </stack>
 
-   </stack>
+    <stack name="StatefulSessionClientInterceptors">
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+    </stack>
 
-   <stack name="StatefulSessionClientInterceptors">
-
-   </stack>
-
 </aop>
\ No newline at end of file




More information about the jboss-cvs-commits mailing list