[jboss-cvs] JBossAS SVN: r76804 - in projects/ejb3/trunk/proxy/src: main/java/org/jboss/ejb3/proxy/factory/session and 6 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Aug 7 22:06:18 EDT 2008
Author: ALRubinger
Date: 2008-08-07 22:06:17 -0400 (Thu, 07 Aug 2008)
New Revision: 76804
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/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/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/unit/SfsbProxyEqualityTestCase.java
projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SlsbProxyEqualityTestCase.java
Log:
[EJBTHREE-1345] Make Proxy Factories aware of Advisors, add interceptor chain to newly-created proxies
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-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactoryBase.java 2008-08-08 02:06:17 UTC (rev 76804)
@@ -27,6 +27,7 @@
import java.util.HashSet;
import java.util.Set;
+import org.jboss.aop.Advisor;
import org.jboss.aop.AspectManager;
import org.jboss.aop.advice.AdviceStack;
import org.jboss.aop.advice.Interceptor;
@@ -62,6 +63,8 @@
private ClassLoader classloader;
+ private Advisor advisor;
+
// --------------------------------------------------------------------------------||
// Constructor --------------------------------------------------------------------||
// --------------------------------------------------------------------------------||
@@ -74,13 +77,16 @@
* upon which Proxies will invoke
* @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)
+ public ProxyFactoryBase(final String name, final String containerName, final ClassLoader classloader,
+ final Advisor advisor)
{
// Set properties
this.setName(name);
this.setContainerName(containerName);
this.setClassLoader(classloader);
+ this.setAdvisor(advisor);
}
// --------------------------------------------------------------------------------||
@@ -167,7 +173,8 @@
AspectManager manager = AspectManager.instance();
AdviceStack stack = manager.getAdviceStack(stackName);
assert stack != null : "Could not find Advice Stack with name: " + stackName;
- Interceptor[] interceptors = stack.createInterceptors();
+ Advisor advisor = this.getAdvisor();
+ Interceptor[] interceptors = stack.createInterceptors(advisor, null);
return interceptors;
}
@@ -236,4 +243,14 @@
this.containerName = containerName;
}
+ protected Advisor getAdvisor()
+ {
+ return advisor;
+ }
+
+ private void setAdvisor(Advisor advisor)
+ {
+ this.advisor = advisor;
+ }
+
}
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-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactoryBase.java 2008-08-08 02:06:17 UTC (rev 76804)
@@ -33,6 +33,7 @@
import javax.ejb.EJBHome;
import javax.ejb.EJBLocalHome;
+import org.jboss.aop.Advisor;
import org.jboss.ejb3.common.lang.ClassHelper;
import org.jboss.ejb3.common.string.StringUtils;
import org.jboss.ejb3.proxy.factory.ProxyFactoryBase;
@@ -101,12 +102,13 @@
* @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,
- final JBossSessionBeanMetaData metadata, final ClassLoader classloader)
+ final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
{
// Call Super
- super(name, containerName, classloader);
+ super(name, containerName, 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-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionLocalProxyFactory.java 2008-08-08 02:06:17 UTC (rev 76804)
@@ -23,6 +23,7 @@
import java.util.Set;
+import org.jboss.aop.Advisor;
import org.jboss.aop.advice.Interceptor;
import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
import org.jboss.ejb3.proxy.handler.session.SessionProxyInvocationHandler;
@@ -56,12 +57,13 @@
* @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,
- final JBossSessionBeanMetaData metadata, final ClassLoader classloader)
+ final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
{
// Call Super
- super(name, containerName, metadata, classloader);
+ super(name, containerName, metadata, classloader, advisor);
}
// --------------------------------------------------------------------------------||
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-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionProxyFactoryBase.java 2008-08-08 02:06:17 UTC (rev 76804)
@@ -26,6 +26,7 @@
import java.lang.reflect.Proxy;
import java.util.Set;
+import org.jboss.aop.Advisor;
import org.jboss.ejb3.common.registrar.spi.Ejb3Registrar;
import org.jboss.ejb3.common.registrar.spi.Ejb3RegistrarLocator;
import org.jboss.ejb3.common.registrar.spi.NotBoundException;
@@ -76,12 +77,13 @@
* @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,
- final JBossSessionBeanMetaData metadata, final ClassLoader classloader)
+ final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
{
// Call Super
- super(name, containerName, metadata, classloader);
+ super(name, containerName, 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-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionRemoteProxyFactory.java 2008-08-08 02:06:17 UTC (rev 76804)
@@ -23,6 +23,7 @@
import java.util.Set;
+import org.jboss.aop.Advisor;
import org.jboss.aop.advice.Interceptor;
import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
import org.jboss.ejb3.proxy.handler.session.SessionProxyInvocationHandler;
@@ -71,12 +72,13 @@
* @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,
- final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final String url)
+ final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final String url, final Advisor advisor)
{
// Call Super
- super(name, containerName, metadata, classloader);
+ super(name, containerName, metadata, classloader, advisor);
this.setUrl(url);
}
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-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionLocalProxyFactory.java 2008-08-08 02:06:17 UTC (rev 76804)
@@ -23,6 +23,7 @@
import java.util.Set;
+import org.jboss.aop.Advisor;
import org.jboss.aop.advice.Interceptor;
import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
import org.jboss.ejb3.proxy.handler.session.SessionProxyInvocationHandler;
@@ -59,12 +60,13 @@
* @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,
- final JBossSessionBeanMetaData metadata, final ClassLoader classloader)
+ final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
{
// Call Super
- super(name, containerName, metadata, classloader);
+ super(name, containerName, metadata, classloader, advisor);
}
// --------------------------------------------------------------------------------||
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-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionProxyFactoryBase.java 2008-08-08 02:06:17 UTC (rev 76804)
@@ -23,6 +23,7 @@
import java.util.Set;
+import org.jboss.aop.Advisor;
import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
import org.jboss.ejb3.proxy.factory.session.SessionProxyFactoryBase;
import org.jboss.logging.Logger;
@@ -57,12 +58,13 @@
* @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,
- final JBossSessionBeanMetaData metadata, final ClassLoader classloader)
+ final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
{
// Call Super
- super(name, containerName, metadata, classloader);
+ super(name, containerName, 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-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionRemoteProxyFactory.java 2008-08-08 02:06:17 UTC (rev 76804)
@@ -23,6 +23,7 @@
import java.util.Set;
+import org.jboss.aop.Advisor;
import org.jboss.aop.advice.Interceptor;
import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
import org.jboss.ejb3.proxy.handler.session.SessionProxyInvocationHandler;
@@ -71,12 +72,13 @@
* @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,
- final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final String url)
+ final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final String url, final Advisor advisor)
{
// Call Super
- super(name, containerName, metadata, classloader);
+ super(name, containerName, metadata, classloader, advisor);
this.setUrl(url);
}
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-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/invocation/InvokableContextStatefulRemoteProxyInvocationHack.java 2008-08-08 02:06:17 UTC (rev 76804)
@@ -80,10 +80,10 @@
{
// Call Super Implementation
super(oid, uri, interceptors);
-
+
// Some sanity checks
- assert oid !=null : "Specified OID is null";
-
+ assert oid != null : "Specified OID is null";
+
// Set additional properties
this.setSessionId(sessionId);
}
@@ -157,11 +157,11 @@
*/
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);
-
+
return sri;
}
@@ -185,6 +185,10 @@
StatefulSessionRemotingMetadata.KEY_SESSION_ID, sessionId, PayloadKey.AS_IS);
}
+ // 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());
+
}
/**
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-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java 2008-08-08 02:06:17 UTC (rev 76804)
@@ -32,9 +32,11 @@
import javax.naming.StringRefAddr;
import javax.naming.spi.ObjectFactory;
+import org.jboss.aop.Advisor;
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;
@@ -140,9 +142,10 @@
* @param smd
* @param cl The CL of the Container
* @param containerName The name under which the target container is registered
+ * @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 String containerName, final Advisor advisor)
{
// Log
String ejbName = smd.getEjbName();
@@ -195,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);
+ SessionProxyFactory factory = this.createRemoteProxyFactory(remoteProxyFactoryKey, containerName, smd, cl,
+ url, advisor);
this.registerProxyFactory(remoteProxyFactoryKey, factory, smd);
// Initialize Reference Addresses to attach to default remote JNDI Reference
@@ -295,7 +298,8 @@
{
// Create and register a local proxy factory
String localProxyFactoryKey = this.getProxyFactoryRegistryKey(smd, true);
- SessionProxyFactory factory = this.createLocalProxyFactory(localProxyFactoryKey, containerName, smd, cl);
+ SessionProxyFactory factory = this.createLocalProxyFactory(localProxyFactoryKey, containerName, smd, cl,
+ advisor);
this.registerProxyFactory(localProxyFactoryKey, factory, smd);
// Initialize Reference Addresses to attach to default local JNDI Reference
@@ -520,9 +524,10 @@
* from the returned ProxyFactory will invoke
* @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 JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor);
/**
* Creates and returns a new remote proxy factory for this Session Bean
@@ -533,9 +538,10 @@
* @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 JBossSessionBeanMetaData smd, final ClassLoader cl, final String url, final Advisor advisor);
// --------------------------------------------------------------------------------||
// Helper Methods -----------------------------------------------------------------||
@@ -742,7 +748,7 @@
}
return defaultRemotes.toString();
}
-
+
/**
* Returns whether the specified RefAddr type denotes an EJB Interface
*
@@ -751,10 +757,10 @@
*/
private boolean isRefAddrTypeEjbInterface(String refAddrType)
{
- return refAddrType.equals(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_LOCAL) ||
- refAddrType.equals(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_REMOTE) ||
- refAddrType.equals(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_EJB2x_INTERFACE_HOME_LOCAL) ||
- refAddrType.equals(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_EJB2x_INTERFACE_HOME_REMOTE);
+ return refAddrType.equals(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_LOCAL)
+ || refAddrType.equals(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_REMOTE)
+ || refAddrType.equals(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_EJB2x_INTERFACE_HOME_LOCAL)
+ || refAddrType.equals(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_EJB2x_INTERFACE_HOME_REMOTE);
}
/**
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-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatefulSessionRegistrar.java 2008-08-08 02:06:17 UTC (rev 76804)
@@ -21,6 +21,7 @@
*/
package org.jboss.ejb3.proxy.jndiregistrar;
+import org.jboss.aop.Advisor;
import org.jboss.aop.Dispatcher;
import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
import org.jboss.ejb3.proxy.factory.session.stateful.StatefulSessionLocalProxyFactory;
@@ -74,12 +75,13 @@
* from the returned ProxyFactory will invoke
* @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 JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor)
{
- return new StatefulSessionLocalProxyFactory(name, containerName, smd, cl);
+ return new StatefulSessionLocalProxyFactory(name, containerName, smd, cl, advisor);
}
/**
@@ -91,13 +93,14 @@
* @param smd The metadata representing this SFSB
* @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
*/
@Override
protected SessionProxyFactory createRemoteProxyFactory(final String name, final String containerName,
- final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url)
+ final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url, final Advisor advisor)
{
// Create
- SessionProxyFactory factory = new StatefulSessionRemoteProxyFactory(name, containerName, smd, cl, url);
+ SessionProxyFactory factory = new StatefulSessionRemoteProxyFactory(name, containerName, 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-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatelessSessionRegistrar.java 2008-08-08 02:06:17 UTC (rev 76804)
@@ -21,6 +21,7 @@
*/
package org.jboss.ejb3.proxy.jndiregistrar;
+import org.jboss.aop.Advisor;
import org.jboss.aop.Dispatcher;
import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
import org.jboss.ejb3.proxy.factory.session.stateless.StatelessSessionLocalProxyFactory;
@@ -73,12 +74,13 @@
* from the returned ProxyFactory will invoke
* @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,
- JBossSessionBeanMetaData smd, ClassLoader cl)
+ final JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor)
{
- return new StatelessSessionLocalProxyFactory(name, containerName, smd, cl);
+ return new StatelessSessionLocalProxyFactory(name, containerName, smd, cl, advisor);
}
/**
@@ -90,13 +92,14 @@
* @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
*/
@Override
protected SessionProxyFactory createRemoteProxyFactory(final String name, final String containerName,
- final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url)
+ final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url, final Advisor advisor)
{
// Create
- SessionProxyFactory factory = new StatelessSessionRemoteProxyFactory(name, containerName, smd, cl, url);
+ SessionProxyFactory factory = new StatelessSessionRemoteProxyFactory(name, containerName, 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-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/container/SessionContainer.java 2008-08-08 02:06:17 UTC (rev 76804)
@@ -329,7 +329,8 @@
if (registrar != null)
{
this.setJndiRegistrar(registrar);
- registrar.bindEjb(this.getJndiContext(), this.getMetaData(), this.getClassLoader(), this.getName());
+ registrar.bindEjb(this.getJndiContext(), this.getMetaData(), this.getClassLoader(), this.getName(), this
+ .getAdvisor());
}
else
{
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-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase.java 2008-08-08 02:06:17 UTC (rev 76804)
@@ -204,7 +204,8 @@
// Make a Local Proxy Factory
StatefulSessionLocalProxyFactory factory = new StatefulSessionLocalProxyFactory(
- StatefulSessionLocalProxyFactory.class.getName(), sfsb.getName(), sfsb.getMetaData(), sfsb.getClassLoader());
+ StatefulSessionLocalProxyFactory.class.getName(), sfsb.getName(), sfsb.getMetaData(),
+ sfsb.getClassLoader(), null);
// Start
factory.start();
@@ -228,7 +229,7 @@
// Make a Remote Proxy Factory
StatefulSessionRemoteProxyFactory factory = new StatefulSessionRemoteProxyFactory(
StatefulSessionRemoteProxyFactory.class.getName(), sfsb.getName(), sfsb.getMetaData(), sfsb
- .getClassLoader(), "socket://localhost:3874");
+ .getClassLoader(), "socket://localhost:3874", null);
// 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-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SlsbProxyEqualityTestCase.java 2008-08-08 02:06:17 UTC (rev 76804)
@@ -152,7 +152,7 @@
// Create the Factory
StatelessSessionLocalProxyFactory factory = new StatelessSessionLocalProxyFactory(
StatelessSessionLocalProxyFactory.class.getName(), container.getName(), container.getMetaData(), container
- .getClassLoader());
+ .getClassLoader(), null);
// Start
factory.start();
@@ -176,7 +176,7 @@
// Create the Factory
StatelessSessionRemoteProxyFactory factory = new StatelessSessionRemoteProxyFactory(
StatelessSessionRemoteProxyFactory.class.getName(), container.getName(), container.getMetaData(), container
- .getClassLoader(), null);
+ .getClassLoader(), null, null);
// Start
factory.start();
More information about the jboss-cvs-commits
mailing list