[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