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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jul 20 03:27:45 EDT 2010


Author: ALRubinger
Date: 2010-07-20 03:27:42 -0400 (Tue, 20 Jul 2010)
New Revision: 106879

Modified:
   projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/ProxyFactoryBase.java
   projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/SessionProxyFactoryBase.java
   projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/service/ServiceLocalProxyFactory.java
   projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/service/ServiceProxyFactoryBase.java
   projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/service/ServiceRemoteProxyFactory.java
   projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateful/StatefulSessionLocalProxyFactory.java
   projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateful/StatefulSessionProxyFactoryBase.java
   projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateful/StatefulSessionRemoteProxyFactory.java
   projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateless/StatelessSessionLocalProxyFactory.java
   projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateless/StatelessSessionProxyFactoryBase.java
   projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateless/StatelessSessionRemoteProxyFactory.java
   projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/handler/session/SessionLocalProxyInvocationHandler.java
   projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/handler/session/SessionProxyInvocationHandlerBase.java
   projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/handler/session/SessionRemoteProxyInvocationHandler.java
   projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/invocation/StatefulRemoteInvocation.java
   projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/jndiregistrar/JndiSessionRegistrarBase.java
   projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/common/container/unit/SessionContainerTestCase.java
   projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/spec_3_4_5/unit/SfsbProxyEqualityTestCase.java
   projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/spec_3_4_5/unit/SlsbProxyEqualityTestCase.java
   projects/ejb3/trunk/proxy-impl/src/test/resources/ejb3-interceptors-aop.xml
Log:
[EJBTHRE-2132] Refit proxy-impl with capability for client-side interceptors

Modified: projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/ProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/ProxyFactoryBase.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/ProxyFactoryBase.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -74,6 +74,11 @@
 
    private Advisor advisor;
 
+   /**
+    * Name of the interceptor stack to use (overrides the default if specified)
+    */
+   private final String overrideInterceptorStackName;
+   
    // --------------------------------------------------------------------------------||
    // Constructor --------------------------------------------------------------------||
    // --------------------------------------------------------------------------------||
@@ -90,7 +95,7 @@
     * @param advisor The Advisor for proxies created by this factory
     */
    public ProxyFactoryBase(final String name, final String containerName, final String containerGuid,
-         final ClassLoader classloader, final Advisor advisor)
+         final ClassLoader classloader, final Advisor advisor,final String overrideInterceptorStackName)
    {
       // Set properties
       this.setName(name);
@@ -98,6 +103,7 @@
       this.setContainerGuid(containerGuid);
       this.setClassLoader(classloader);
       this.setAdvisor(advisor);
+      this.overrideInterceptorStackName = overrideInterceptorStackName;
    }
 
    // --------------------------------------------------------------------------------||
@@ -157,9 +163,23 @@
     *
     * @return
     */
-   protected String getInterceptorStackName()
+   private String getInterceptorStackName()
    {
-      return null;
+      // Initialize to default
+      final String defaultStackName = this.getDefaultInterceptorStackName();
+      assert defaultStackName != null && defaultStackName.length() > 0 : "Default interceptor stack name not provided by "
+            + this;
+      String stackName = defaultStackName;
+
+      // Override if specified
+      final String overrideName = this.overrideInterceptorStackName;
+      if (overrideName != null && overrideName.trim().length() > 0)
+      {
+         stackName = overrideName;
+      }
+
+      // Return
+      return stackName;
    }
 
    /**
@@ -182,9 +202,15 @@
       AdviceStack stack = manager.getAdviceStack(stackName);
       assert stack != null : "Could not find Advice Stack with name: " + stackName;
       Advisor advisor = this.getAdvisor();
-      Interceptor[] interceptors = stack.createInterceptors(advisor, null);
+      final Interceptor[] interceptors = stack.createInterceptors(advisor, null);
       return interceptors;
    }
+   
+   /**
+    * Obtains the name of the default interceptor stack
+    * @return
+    */
+   protected abstract String getDefaultInterceptorStackName();
 
    // --------------------------------------------------------------------------------||
    // Lifecycle Methods --------------------------------------------------------------||
@@ -251,13 +277,14 @@
       this.containerName = containerName;
    }
 
-   protected Advisor getAdvisor()
+   protected final Advisor getAdvisor()
    {
       return advisor;
    }
 
-   private void setAdvisor(Advisor advisor)
+   private final void setAdvisor(final Advisor advisor)
    {
+      assert advisor != null : "Advisor was null";
       this.advisor = advisor;
    }
 

Modified: projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/SessionProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/SessionProxyFactoryBase.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/SessionProxyFactoryBase.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -103,12 +103,15 @@
     * @param classloader The ClassLoader associated with the Container's Bean Class
     *       for which this ProxyFactory is to generate Proxies
     * @param advisor The Advisor for proxies created by this factory
+    * @param overrideInterceptorStackName The name of the client-side interceptor stack to use.
+    *       If null the default will apply.
     */
    public SessionProxyFactoryBase(final String name, final String containerName, final String containerGuid,
-         final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
+         final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor,
+         final String overrideInterceptorStackName)
    {
       // Call Super
-      super(name, containerName, containerGuid, classloader, advisor);
+      super(name, containerName, containerGuid, classloader, advisor, overrideInterceptorStackName);
 
       // Set Metadata
       this.setMetadata(metadata);

Modified: projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/service/ServiceLocalProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/service/ServiceLocalProxyFactory.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/service/ServiceLocalProxyFactory.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -44,6 +44,11 @@
    // --------------------------------------------------------------------------------||
 
    private static final Logger logger = Logger.getLogger(ServiceLocalProxyFactory.class);
+   
+   /**
+    * Default interceptor stack name
+    */
+   private static final String DEFAULT_STACK_NAME_LOCAL_CLIENT_INTERCEPTORS = "LocalClientInterceptors";
 
    // --------------------------------------------------------------------------------||
    // Constructor --------------------------------------------------------------------||
@@ -65,7 +70,7 @@
          final JBossServiceBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
    {
       // Call Super
-      super(name, containerName, containerGuid, metadata, classloader, advisor);
+      super(name, containerName, containerGuid, metadata, classloader, advisor, null);
    }
 
    // --------------------------------------------------------------------------------||
@@ -100,4 +105,14 @@
       // Return
       return handler;
    }
+   
+   /**
+    * {@inheritDoc}
+    * @see org.jboss.ejb3.proxy.impl.factory.ProxyFactoryBase#getDefaultInterceptorStackName()
+    */
+   @Override
+   protected String getDefaultInterceptorStackName()
+   {
+      return DEFAULT_STACK_NAME_LOCAL_CLIENT_INTERCEPTORS;
+   }
 }

Modified: projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/service/ServiceProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/service/ServiceProxyFactoryBase.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/service/ServiceProxyFactoryBase.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -76,12 +76,15 @@
     * @param classloader The ClassLoader associated with the Container's Bean Class
     *       for which this ProxyFactory is to generate Proxies
     * @param advisor The Advisor for proxies created by this factory
+    * @param overrideInterceptorStackName The name of the client-side interceptor stack to use.
+    *       If null the default will apply.
     */
    public ServiceProxyFactoryBase(final String name, final String containerName, final String containerGuid,
-         final JBossServiceBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
+         final JBossServiceBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor,
+         final String overrideInterceptorStackName)
    {
       // Call Super
-      super(name, containerName, containerGuid, classloader, advisor);
+      super(name, containerName, containerGuid, classloader, advisor, overrideInterceptorStackName);
 
       // Set Metadata
       this.setMetadata(metadata);

Modified: projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/service/ServiceRemoteProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/service/ServiceRemoteProxyFactory.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/service/ServiceRemoteProxyFactory.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -44,9 +44,12 @@
    // --------------------------------------------------------------------------------||
 
    private static final Logger logger = Logger.getLogger(ServiceRemoteProxyFactory.class);
+   
+   /**
+    * Default interceptor stack name
+    */
+   private static final String DEFAULT_STACK_NAME_SERVICE_CLIENT_INTERCEPTORS = "ServiceClientInterceptors";
 
-   private static final String DEFAULT_STACK_NAME_STATELESS_SESSION_CLIENT_INTERCEPTORS = "ServiceClientInterceptors";
-
    // --------------------------------------------------------------------------------||
    // Instance Members ---------------------------------------------------------------||
    // --------------------------------------------------------------------------------||
@@ -56,11 +59,6 @@
     */
    private String url;
 
-   /**
-    * Name of the interceptor stack to use (overrides the default)
-    */
-   private String interceptorStackName;
-
    // --------------------------------------------------------------------------------||
    // Constructor --------------------------------------------------------------------||
    // --------------------------------------------------------------------------------||
@@ -85,11 +83,10 @@
          final Advisor advisor, final String interceptorStackName)
    {
       // Call Super
-      super(name, containerName, containerGuid, metadata, classloader, advisor);
+      super(name, containerName, containerGuid, metadata, classloader, advisor, interceptorStackName);
 
       // Set properties
       this.setUrl(url);
-      this.setInterceptorStackName(interceptorStackName);
    }
 
    // --------------------------------------------------------------------------------||
@@ -107,29 +104,6 @@
       return this.getMetadata().getBusinessRemotes();
    }
 
-   /**
-    * Return the name of the interceptor stack to apply to 
-    * proxies created by this proxy factory
-    * 
-    * @return
-    */
-   @Override
-   protected String getInterceptorStackName()
-   {
-      // Initialize to default
-      String stackName = ServiceRemoteProxyFactory.DEFAULT_STACK_NAME_STATELESS_SESSION_CLIENT_INTERCEPTORS;
-
-      // Override if specified
-      String overrideName = this.interceptorStackName;
-      if (overrideName != null && overrideName.trim().length() > 0)
-      {
-         stackName = overrideName;
-      }
-
-      // Return
-      return stackName;
-   }
-
    // --------------------------------------------------------------------------------||
    // Required Implementations -------------------------------------------------------||
    // --------------------------------------------------------------------------------||
@@ -152,6 +126,16 @@
       // Return
       return handler;
    }
+   
+   /**
+    * {@inheritDoc}
+    * @see org.jboss.ejb3.proxy.impl.factory.ProxyFactoryBase#getDefaultInterceptorStackName()
+    */
+   @Override
+   protected String getDefaultInterceptorStackName()
+   {
+      return DEFAULT_STACK_NAME_SERVICE_CLIENT_INTERCEPTORS;
+   }
 
    // --------------------------------------------------------------------------------||
    // Accessors / Mutators -----------------------------------------------------------||
@@ -166,9 +150,4 @@
    {
       this.url = url;
    }
-
-   protected void setInterceptorStackName(String interceptorStackName)
-   {
-      this.interceptorStackName = interceptorStackName;
-   }
 }

Modified: projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateful/StatefulSessionLocalProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateful/StatefulSessionLocalProxyFactory.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateful/StatefulSessionLocalProxyFactory.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -45,6 +45,11 @@
    // --------------------------------------------------------------------------------||
    // Class Members ------------------------------------------------------------------||
    // --------------------------------------------------------------------------------||
+   
+   /**
+    * Default interceptor stack name
+    */
+   private static final String DEFAULT_STACK_NAME_LOCAL_CLIENT_INTERCEPTORS = "LocalClientInterceptors";
 
    // --------------------------------------------------------------------------------||
    // Constructor --------------------------------------------------------------------||
@@ -66,7 +71,7 @@
          final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
    {
       // Call Super
-      super(name, containerName, containerGuid, metadata, classloader, advisor);
+      super(name, containerName, containerGuid, metadata, classloader, advisor, null);
    }
 
    // --------------------------------------------------------------------------------||
@@ -144,4 +149,14 @@
    {
       return this.createBusinessDefaultInvocationHandler();
    }
+   
+   /**
+    * {@inheritDoc}
+    * @see org.jboss.ejb3.proxy.impl.factory.ProxyFactoryBase#getDefaultInterceptorStackName()
+    */
+   @Override
+   protected String getDefaultInterceptorStackName()
+   {
+      return DEFAULT_STACK_NAME_LOCAL_CLIENT_INTERCEPTORS;
+   }
 }

Modified: projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateful/StatefulSessionProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateful/StatefulSessionProxyFactoryBase.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateful/StatefulSessionProxyFactoryBase.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -78,12 +78,15 @@
     * @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
+    * @param overrideInterceptorStackName The name of the client-side interceptor stack to use.
+    *       If null the default will apply.
     */
    public StatefulSessionProxyFactoryBase(final String name, final String containerName, final String containerGuid,
-         final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
+         final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor,
+         final String overrideInterceptorStackName)
    {
       // Call Super
-      super(name, containerName, containerGuid, metadata, classloader, advisor);
+      super(name, containerName, containerGuid, metadata, classloader, advisor, overrideInterceptorStackName);
    }
 
    // --------------------------------------------------------------------------------||
@@ -234,10 +237,11 @@
       // Return
       return proxy;
    }
-
+   
    // --------------------------------------------------------------------------------||
    // Internal Helper Methods --------------------------------------------------------||
    // --------------------------------------------------------------------------------||
+   
 
    /**
     * Associates the specified Proxy with the session denoted by 

Modified: projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateful/StatefulSessionRemoteProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateful/StatefulSessionRemoteProxyFactory.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateful/StatefulSessionRemoteProxyFactory.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -48,7 +48,10 @@
    // --------------------------------------------------------------------------------||
 
    private static final Logger log = Logger.getLogger(StatefulSessionRemoteProxyFactory.class);
-
+   
+   /**
+    * Default interceptor stack name
+    */
    private static final String DEFAULT_STACK_NAME_STATEFUL_SESSION_CLIENT_INTERCEPTORS = "StatefulSessionClientInterceptors";
 
    // --------------------------------------------------------------------------------||
@@ -60,11 +63,6 @@
     */
    private String url;
 
-   /**
-    * Name of the interceptor stack to use (overrides the default)
-    */
-   private String interceptorStackName;
-
    // --------------------------------------------------------------------------------||
    // Constructor --------------------------------------------------------------------||
    // --------------------------------------------------------------------------------||
@@ -89,9 +87,8 @@
          final Advisor advisor, final String interceptorStackName)
    {
       // Call Super
-      super(name, containerName, containerGuid, metadata, classloader, advisor);
+      super(name, containerName, containerGuid, metadata, classloader, advisor,interceptorStackName);
       this.setUrl(url);
-      this.setInterceptorStackName(interceptorStackName);
    }
 
    // --------------------------------------------------------------------------------||
@@ -130,29 +127,6 @@
       return this.getMetadata().getRemote();
    }
 
-   /**
-    * Return the name of the interceptor stack to apply to 
-    * proxies created by this proxy factory
-    * 
-    * @return
-    */
-   @Override
-   protected String getInterceptorStackName()
-   {
-      // Initialize to default
-      String stackName = StatefulSessionRemoteProxyFactory.DEFAULT_STACK_NAME_STATEFUL_SESSION_CLIENT_INTERCEPTORS;
-
-      // Override if specified
-      String overrideName = this.interceptorStackName;
-      if (overrideName != null && overrideName.trim().length() > 0)
-      {
-         stackName = overrideName;
-      }
-
-      // Return
-      return stackName;
-   }
-
    // --------------------------------------------------------------------------------||
    // Required Implementations -------------------------------------------------------||
    // --------------------------------------------------------------------------------||
@@ -193,6 +167,16 @@
    {
       return this.createBusinessDefaultInvocationHandler();
    }
+   
+   /**
+    * {@inheritDoc}
+    * @see org.jboss.ejb3.proxy.impl.factory.ProxyFactoryBase#getDefaultInterceptorStackName()
+    */
+   @Override
+   protected String getDefaultInterceptorStackName()
+   {
+      return DEFAULT_STACK_NAME_STATEFUL_SESSION_CLIENT_INTERCEPTORS;
+   }
 
    // --------------------------------------------------------------------------------||
    // Accessors / Mutators -----------------------------------------------------------||
@@ -207,9 +191,4 @@
    {
       this.url = url;
    }
-
-   protected void setInterceptorStackName(String interceptorStackName)
-   {
-      this.interceptorStackName = interceptorStackName;
-   }
 }

Modified: projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateless/StatelessSessionLocalProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateless/StatelessSessionLocalProxyFactory.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateless/StatelessSessionLocalProxyFactory.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -48,6 +48,11 @@
    // --------------------------------------------------------------------------------||
 
    private static final Logger logger = Logger.getLogger(StatelessSessionLocalProxyFactory.class);
+   
+   /**
+    * Default interceptor stack name
+    */
+   private static final String DEFAULT_STACK_NAME_LOCAL_CLIENT_INTERCEPTORS = "LocalClientInterceptors";
 
    // --------------------------------------------------------------------------------||
    // Constructor --------------------------------------------------------------------||
@@ -69,7 +74,7 @@
          final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
    {
       // Call Super
-      super(name, containerName, containerGuid, metadata, classloader, advisor);
+      super(name, containerName, containerGuid, metadata, classloader, advisor, null);
    }
 
    // --------------------------------------------------------------------------------||
@@ -147,4 +152,14 @@
    {
       return this.createBusinessDefaultInvocationHandler();
    }
+   
+   /**
+    * {@inheritDoc}
+    * @see org.jboss.ejb3.proxy.impl.factory.ProxyFactoryBase#getDefaultInterceptorStackName()
+    */
+   @Override
+   protected String getDefaultInterceptorStackName()
+   {
+      return DEFAULT_STACK_NAME_LOCAL_CLIENT_INTERCEPTORS;
+   }
 }

Modified: projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateless/StatelessSessionProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateless/StatelessSessionProxyFactoryBase.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateless/StatelessSessionProxyFactoryBase.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -60,12 +60,14 @@
     * @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
+    * @param overrideInterceptorStackName Name of the interceptor stack name to override the default
     */
    public StatelessSessionProxyFactoryBase(final String name, final String containerName, final String containerGuid,
-         final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
+         final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor,
+         final String overrideInterceptorStackName)
    {
       // Call Super
-      super(name, containerName, containerGuid, metadata, classloader, advisor);
+      super(name, containerName, containerGuid, metadata, classloader, advisor, overrideInterceptorStackName);
    }
 
    // --------------------------------------------------------------------------------||
@@ -85,4 +87,5 @@
    {
       return this.getReturnTypesFromCreateMethods(homeInterface, true);
    }
+   
 }

Modified: projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateless/StatelessSessionRemoteProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateless/StatelessSessionRemoteProxyFactory.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/factory/session/stateless/StatelessSessionRemoteProxyFactory.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -48,7 +48,10 @@
    // --------------------------------------------------------------------------------||
 
    private static final Logger logger = Logger.getLogger(StatelessSessionRemoteProxyFactory.class);
-
+   
+   /**
+    * Name of the default interceptor stack
+    */
    private static final String DEFAULT_STACK_NAME_STATELESS_SESSION_CLIENT_INTERCEPTORS = "StatelessSessionClientInterceptors";
 
    // --------------------------------------------------------------------------------||
@@ -60,11 +63,6 @@
     */
    private String url;
 
-   /**
-    * Name of the interceptor stack to use (overrides the default)
-    */
-   private String interceptorStackName;
-
    // --------------------------------------------------------------------------------||
    // Constructor --------------------------------------------------------------------||
    // --------------------------------------------------------------------------------||
@@ -81,19 +79,18 @@
     *       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
-    * @param interceptorStackName The name of the client-side interceptor stack to use.
+    * @param overrideInterceptorStackName The name of the client-side interceptor stack to use.
     *       If null the default will apply.
     */
    public StatelessSessionRemoteProxyFactory(final String name, final String containerName, final String containerGuid,
          final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final String url,
-         final Advisor advisor, final String interceptorStackName)
+         final Advisor advisor, final String overrideInterceptorStackName)
    {
       // Call Super
-      super(name, containerName, containerGuid, metadata, classloader, advisor);
+      super(name, containerName, containerGuid, metadata, classloader, advisor, overrideInterceptorStackName);
 
       // Set properties
       this.setUrl(url);
-      this.setInterceptorStackName(interceptorStackName);
    }
 
    // --------------------------------------------------------------------------------||
@@ -132,29 +129,6 @@
       return this.getMetadata().getRemote();
    }
 
-   /**
-    * Return the name of the interceptor stack to apply to 
-    * proxies created by this proxy factory
-    * 
-    * @return
-    */
-   @Override
-   protected String getInterceptorStackName()
-   {
-      // Initialize to default
-      String stackName = StatelessSessionRemoteProxyFactory.DEFAULT_STACK_NAME_STATELESS_SESSION_CLIENT_INTERCEPTORS;
-
-      // Override if specified
-      String overrideName = this.interceptorStackName;
-      if (overrideName != null && overrideName.trim().length() > 0)
-      {
-         stackName = overrideName;
-      }
-
-      // Return
-      return stackName;
-   }
-
    // --------------------------------------------------------------------------------||
    // Required Implementations -------------------------------------------------------||
    // --------------------------------------------------------------------------------||
@@ -195,6 +169,16 @@
    {
       return this.createBusinessDefaultInvocationHandler();
    }
+   
+   /**
+    * {@inheritDoc}
+    * @see org.jboss.ejb3.proxy.impl.factory.ProxyFactoryBase#getDefaultInterceptorStackName()
+    */
+   @Override
+   protected String getDefaultInterceptorStackName()
+   {
+      return DEFAULT_STACK_NAME_STATELESS_SESSION_CLIENT_INTERCEPTORS;
+   }
 
    // --------------------------------------------------------------------------------||
    // Accessors / Mutators -----------------------------------------------------------||
@@ -209,9 +193,4 @@
    {
       this.url = url;
    }
-
-   protected void setInterceptorStackName(String interceptorStackName)
-   {
-      this.interceptorStackName = interceptorStackName;
-   }
 }

Modified: projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/handler/session/SessionLocalProxyInvocationHandler.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/handler/session/SessionLocalProxyInvocationHandler.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/handler/session/SessionLocalProxyInvocationHandler.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -22,6 +22,7 @@
 package org.jboss.ejb3.proxy.impl.handler.session;
 
 import java.io.Serializable;
+import java.lang.reflect.Method;
 
 import org.jboss.aop.advice.Interceptor;
 import org.jboss.ejb3.proxy.spi.container.InvokableContext;
@@ -82,9 +83,9 @@
     * @see org.jboss.ejb3.proxy.handler.session.SessionProxyInvocationHandlerBase#getContainer()
     */
    @Override
-   protected InvokableContext getContainer()
+   protected InvokableContext getContainer(final Method method, final Object[] args)
    {
-      return this.getContainerLocally();
+      return this.getContainerLocally(method,args);
    }
 
 }

Modified: projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/handler/session/SessionProxyInvocationHandlerBase.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/handler/session/SessionProxyInvocationHandlerBase.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/handler/session/SessionProxyInvocationHandlerBase.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -28,10 +28,15 @@
 import java.util.HashSet;
 import java.util.Set;
 
+import org.jboss.aop.Advisor;
 import org.jboss.aop.advice.Interceptor;
+import org.jboss.aop.joinpoint.Invocation;
+import org.jboss.aop.joinpoint.InvocationResponse;
+import org.jboss.aop.util.MethodHashing;
 import org.jboss.ejb3.common.lang.SerializableMethod;
 import org.jboss.ejb3.common.registrar.spi.Ejb3Registrar;
 import org.jboss.ejb3.common.registrar.spi.Ejb3RegistrarLocator;
+import org.jboss.ejb3.proxy.impl.invocation.StatefulRemoteInvocation;
 import org.jboss.ejb3.proxy.impl.remoting.ProxyRemotingUtils;
 import org.jboss.ejb3.proxy.spi.container.InvokableContext;
 import org.jboss.logging.Logger;
@@ -164,15 +169,6 @@
          return this.handleInvocationDirectly(proxy, args, method);
       }
 
-      /*
-       * Obtain the Container
-       */
-      final InvokableContext container = this.getContainer();
-
-      /*
-       * Invoke
-       */
-
       // Adjust args if null to empty array
       Object[] usedArgs = args;
       if (usedArgs == null)
@@ -183,7 +179,16 @@
 
       // Set the invoked method
       final SerializableMethod invokedMethod = new SerializableMethod(method, actualClass);
+      
+      /*
+       * Obtain the Container
+       */
+      final InvokableContext container = this.getContainer(invokedMethod.toMethod(), usedArgs);
 
+      /*
+       * Invoke
+       */
+
       // Invoke
       final Object result = container.invoke(proxy, invokedMethod, usedArgs);
 
@@ -304,7 +309,7 @@
        * Session bean references to either different business interface types
        * or different session beans will not be equal."
        */
-      
+
       // Short-circuit if we're given null
       // EJBTHREE-2039
       if (argument == null)
@@ -315,7 +320,7 @@
       // Ensure we've got j.l.r.Proxies
       assert Proxy.isProxyClass(proxy.getClass()) && Proxy.isProxyClass(argument.getClass()) : "invokeEquals handles only "
             + Proxy.class.getName();
-      
+
       // Get the InvocationHandlers
       InvocationHandler proxyHandler = Proxy.getInvocationHandler(proxy);
       InvocationHandler argumentHandler = Proxy.getInvocationHandler(argument);
@@ -405,7 +410,7 @@
     * 
     * @return
     */
-   protected InvokableContext getContainerLocally()
+   protected InvokableContext getContainerLocally(final Method method, final Object[] args)
    {
       // Lookup
       Object obj = Ejb3RegistrarLocator.locateRegistrar().lookup(this.getContainerName());
@@ -414,10 +419,102 @@
       assert obj instanceof InvokableContext : "Container retrieved from " + Ejb3Registrar.class.getSimpleName()
             + " was not of expected type " + InvokableContext.class.getName() + " but was instead " + obj;
 
+      final InvokableContext container = (InvokableContext) obj;
+
+      final InvokableContext proxyToContainer = (InvokableContext) Proxy.newProxyInstance(InvokableContext.class
+            .getClassLoader(), new Class<?>[]
+      {InvokableContext.class}, new LocalInvokableContextHandler(method, args, this.target, this.interceptors,
+            container));
+
       // Return
-      return (InvokableContext) obj;
+      return proxyToContainer;
    }
+   
+   /**
+    * Invocation handler to adapt interceptors to local invocations
+    * upon the container
+    * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+    */
+   private static final class LocalInvokableContextHandler implements InvocationHandler
+   {
 
+      private final Method realMethod;
+
+      private final Object[] realArgs;
+
+      private final Object session;
+
+      private final Interceptor[] interceptors;
+      final InvokableContext container;
+
+      LocalInvokableContextHandler(final Method realMethod, final Object[] realArgs, final Object session,
+            final Interceptor[] interceptors,final InvokableContext container)
+      {
+         assert realMethod != null : "method must be specified";
+         assert realArgs != null : "realArgs must be specified";
+         assert interceptors != null : "interceptors must be specified";
+         assert container != null : "container must be specified";
+         this.realMethod = realMethod;
+         this.realArgs = realArgs;
+         this.session = session;
+         this.interceptors = interceptors;
+         this.container = container;
+         
+      }
+
+      public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable
+      {
+         final long hash = MethodHashing.calculateHash(realMethod);
+         final LocalContainerInvocation invocation = new LocalContainerInvocation(interceptors, hash, realMethod,
+               realMethod, null, session);
+         invocation.setTargetObject(container);
+         invocation.setArguments(args);
+         return invocation.invokeNext();
+      }
+
+   }
+   
+   private static class LocalContainerInvocation extends StatefulRemoteInvocation{
+
+      public LocalContainerInvocation(Interceptor[] interceptors, long methodHash, Method advisedMethod,
+            Method unadvisedMethod, Advisor advisor, Object id)
+      {
+         super(interceptors, methodHash, advisedMethod, unadvisedMethod, advisor, id);
+      }
+
+      @Override
+      public Object invokeTarget() throws Throwable
+      {
+         try
+         {
+            final Method methodToInvoke =InvokableContext.class.getMethod("invoke", Object.class,
+                  SerializableMethod.class, Object[].class);
+            log.info("METHOD TO INVOKE: " + methodToInvoke);
+            log.info("Target: " + getTargetObject());
+            log.info("Arguments: " + arguments);
+            return methodToInvoke.invoke(getTargetObject(), arguments);
+         }
+         catch (Throwable t)
+         {
+            throw handleErrors(getTargetObject(), getMethod(), arguments, t);
+         }
+      }
+      
+      @Override
+      public Invocation copy()
+      {
+         final LocalContainerInvocation copy = new LocalContainerInvocation(this.interceptors, this.methodHash, this.advisedMethod,
+               this.unadvisedMethod, this.advisor, this.id);
+         copy.setMetaData(this.getMetaData());
+         copy.setArguments(this.getArguments());
+         copy.setTargetObject(targetObject);
+         return copy;
+      }
+
+
+      
+   }
+
    /**
     * Creates and returns a Remoting Proxy to invoke upon the container
     * 
@@ -430,8 +527,8 @@
    //FIXME
    protected InvokableContext createRemoteProxyToContainer(String url)
    {
-      InvokableContext container = ProxyRemotingUtils.createRemoteProxyToContainer(this.getContainerName(), this
-            .getContainerGuid(), url, this.getInterceptors(), this.getTarget());
+      InvokableContext container = ProxyRemotingUtils.createRemoteProxyToContainer(this.getContainerName(),
+            this.getContainerGuid(), url, this.getInterceptors(), this.getTarget());
       return container;
    }
 
@@ -444,7 +541,7 @@
     * 
     * @return
     */
-   protected abstract InvokableContext getContainer();
+   protected abstract InvokableContext getContainer(final Method method, final Object[] args);
 
    // ------------------------------------------------------------------------------||
    // Accessors / Mutators ---------------------------------------------------------||

Modified: projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/handler/session/SessionRemoteProxyInvocationHandler.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/handler/session/SessionRemoteProxyInvocationHandler.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/handler/session/SessionRemoteProxyInvocationHandler.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -22,6 +22,7 @@
 package org.jboss.ejb3.proxy.impl.handler.session;
 
 import java.io.Serializable;
+import java.lang.reflect.Method;
 
 import org.jboss.aop.advice.Interceptor;
 import org.jboss.ejb3.proxy.spi.container.InvokableContext;
@@ -79,7 +80,7 @@
     * @see org.jboss.ejb3.proxy.handler.session.SessionProxyInvocationHandlerBase#getContainer()
     */
    @Override
-   protected InvokableContext getContainer()
+   protected InvokableContext getContainer(final Method method, final Object[] args)
    {
       return this.createRemoteProxyToContainer(this.getUrl());
    }

Modified: projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/invocation/StatefulRemoteInvocation.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/invocation/StatefulRemoteInvocation.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/invocation/StatefulRemoteInvocation.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -74,6 +74,7 @@
             this.unadvisedMethod, this.advisor, this.id);
       copy.setMetaData(this.getMetaData());
       copy.setArguments(this.getArguments());
+      copy.setTargetObject(targetObject);
       return copy;
    }
 

Modified: projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/jndiregistrar/JndiSessionRegistrarBase.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/jndiregistrar/JndiSessionRegistrarBase.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/main/java/org/jboss/ejb3/proxy/impl/jndiregistrar/JndiSessionRegistrarBase.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -497,7 +497,7 @@
       }
       // If there's a local view
       if (hasLocalView)
-      {
+      {         
          // Get the default local JNDI Name
          String defaultLocalJndiName = smd.getLocalJndiName();
 
@@ -769,6 +769,8 @@
     * @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
+    * @param interceptorStackName The name of the client-side interceptor stack to use.
+    *       If null the default will apply.
     */
    protected abstract ProxyFactory createLocalProxyFactory(final String name, final String containerName,
          final String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor);

Modified: projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/common/container/unit/SessionContainerTestCase.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/common/container/unit/SessionContainerTestCase.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/common/container/unit/SessionContainerTestCase.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -23,9 +23,15 @@
 
 import static org.junit.Assert.assertNotNull;
 
+import java.net.URL;
+
 import javax.naming.Context;
 import javax.naming.InitialContext;
 
+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.common.registrar.spi.NotBoundException;
@@ -36,6 +42,7 @@
 import org.jboss.ejb3.test.proxy.impl.common.container.StatelessContainer;
 import org.jboss.ejb3.test.proxy.impl.common.ejb.slsb.SimpleSLSBLocal;
 import org.jboss.ejb3.test.proxy.impl.common.ejb.slsb.SimpleSLSBean;
+import org.jboss.ejb3.test.proxy.impl.spec_3_4_5.ProxyEqualityTestCaseBase;
 import org.jboss.logging.Logger;
 import org.junit.After;
 import org.junit.AfterClass;
@@ -68,8 +75,15 @@
     * Instance of logger
     */
    private static Logger logger = Logger.getLogger(SessionContainerTestCase.class);
+   
+   private static final String FILENAME_EJB3_INTERCEPTORS_AOP = "ejb3-interceptors-aop.xml";
 
    /**
+    * The Advisor for these tests
+    */
+   protected static Advisor advisor = null;
+
+   /**
     * Initializes the required services
     * 
     * @throws Throwable
@@ -84,6 +98,19 @@
       Ejb3RegistrarLocator.bindRegistrar(new Ejb3McRegistrar(bootstrap.getKernel()));
 
       bootstrap.deploy(SessionContainerTestCase.class);
+      
+      // Load ejb3-interceptors-aop.xml into AspectManager
+      ClassLoader cl = Thread.currentThread().getContextClassLoader();
+      URL url = cl.getResource(FILENAME_EJB3_INTERCEPTORS_AOP);
+      if (url == null)
+      {
+         throw new RuntimeException("Could not load " + AspectManager.class.getSimpleName()
+               + " 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);
+      SessionContainerTestCase.advisor = advisor;
 
    }
 

Modified: projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/spec_3_4_5/unit/SfsbProxyEqualityTestCase.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/spec_3_4_5/unit/SfsbProxyEqualityTestCase.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/spec_3_4_5/unit/SfsbProxyEqualityTestCase.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -211,8 +211,8 @@
 
       // Make a Local Proxy Factory
       StatefulSessionLocalProxyFactory factory = new StatefulSessionLocalProxyFactory(
-            StatefulSessionLocalProxyFactory.class.getName(), sfsb.getName(), sfsb.getName(), sfsb.getMetaData(), sfsb
-                  .getClassLoader(), null);
+            StatefulSessionLocalProxyFactory.class.getName(), sfsb.getName(), sfsb.getName(), sfsb.getMetaData(),
+            sfsb.getClassLoader(), ProxyEqualityTestCaseBase.advisor);
 
       // Start
       factory.start();

Modified: projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/spec_3_4_5/unit/SlsbProxyEqualityTestCase.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/spec_3_4_5/unit/SlsbProxyEqualityTestCase.java	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/spec_3_4_5/unit/SlsbProxyEqualityTestCase.java	2010-07-20 07:27:42 UTC (rev 106879)
@@ -151,8 +151,8 @@
 
       // Create the Factory
       StatelessSessionLocalProxyFactory factory = new StatelessSessionLocalProxyFactory(
-            StatelessSessionLocalProxyFactory.class.getName(), container.getName(), container.getName(), container
-                  .getMetaData(), container.getClassLoader(), null);
+            StatelessSessionLocalProxyFactory.class.getName(), container.getName(), container.getName(),
+            container.getMetaData(), container.getClassLoader(), ProxyEqualityTestCaseBase.advisor);
 
       // Start
       factory.start();

Modified: projects/ejb3/trunk/proxy-impl/src/test/resources/ejb3-interceptors-aop.xml
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/test/resources/ejb3-interceptors-aop.xml	2010-07-20 06:23:56 UTC (rev 106878)
+++ projects/ejb3/trunk/proxy-impl/src/test/resources/ejb3-interceptors-aop.xml	2010-07-20 07:27:42 UTC (rev 106879)
@@ -21,6 +21,9 @@
     Client Interceptor Stack Definitions
     
     -->
+    <stack name="LocalClientInterceptors">
+    <!-- None -->
+    </stack>
 
     <stack name="ServiceClientInterceptors">
       <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>



More information about the jboss-cvs-commits mailing list