[jboss-cvs] JBossAS SVN: r66252 - in trunk/ejb3/src/main/org/jboss/ejb3: iiop and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Oct 18 13:24:00 EDT 2007
Author: ALRubinger
Date: 2007-10-18 13:24:00 -0400 (Thu, 18 Oct 2007)
New Revision: 66252
Modified:
trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java
trunk/ejb3/src/main/org/jboss/ejb3/ProxyFactoryHelper.java
trunk/ejb3/src/main/org/jboss/ejb3/iiop/IORFactory.java
trunk/ejb3/src/main/org/jboss/ejb3/service/ServiceLocalProxyFactory.java
trunk/ejb3/src/main/org/jboss/ejb3/service/ServiceRemoteProxyFactory.java
trunk/ejb3/src/main/org/jboss/ejb3/session/ProxyDeployer.java
trunk/ejb3/src/main/org/jboss/ejb3/session/SessionContainer.java
trunk/ejb3/src/main/org/jboss/ejb3/stateful/StatefulClusterProxyFactory.java
trunk/ejb3/src/main/org/jboss/ejb3/stateful/StatefulContainer.java
trunk/ejb3/src/main/org/jboss/ejb3/stateless/StatelessClusterProxyFactory.java
Log:
EJBTHREE-1075: Cleaned up distinction between Local/Remote and Local Business / Remote Business interfaces
Modified: trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java 2007-10-18 17:23:11 UTC (rev 66251)
+++ trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java 2007-10-18 17:24:00 UTC (rev 66252)
@@ -742,8 +742,8 @@
// TODO: Make sure this is done after addInterfaces!
if(enterpriseBean instanceof GenericBean)
{
- Class[] remoteInterfaces = ProxyFactoryHelper.getRemoteInterfaces(container);
- if(remoteInterfaces.length == 0)
+ Class<?>[] remoteAndBusinessRemoteInterfaces = ProxyFactoryHelper.getRemoteAndBusinessRemoteInterfaces(container);
+ if(remoteAndBusinessRemoteInterfaces.length == 0)
{
enterpriseBean.setLocalJndiName(enterpriseBean.getJndiName());
enterpriseBean.setJndiName(null);
Modified: trunk/ejb3/src/main/org/jboss/ejb3/ProxyFactoryHelper.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/ProxyFactoryHelper.java 2007-10-18 17:23:11 UTC (rev 66251)
+++ trunk/ejb3/src/main/org/jboss/ejb3/ProxyFactoryHelper.java 2007-10-18 17:24:00 UTC (rev 66252)
@@ -21,11 +21,7 @@
*/
package org.jboss.ejb3;
-import java.io.Serializable;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Iterator;
import java.util.List;
import javax.ejb.EJBLocalObject;
@@ -74,7 +70,7 @@
* @param container
* @return the local interfaces of the container or an empty array
*/
- public static Class<?>[] getLocalInterfaces(Container container)
+ public static Class<?>[] getLocalAndBusinessLocalInterfaces(Container container)
{
// Obtain @Local
Local localAnnotation = ((EJBContainer) container).getAnnotation(javax.ejb.Local.class);
@@ -155,19 +151,18 @@
return beanClassBusinessInterfaces.toArray(new Class<?>[]
{});
}
-
}
}
- Class[] rtn = {(Class) businessInterfaces.get(0)};
+ Class<?>[] rtn = {(Class<?>) businessInterfaces.get(0)};
localAnnotation = new LocalImpl(rtn);
((EJBContainer) container).getAnnotations().addClassAnnotation(javax.ejb.Local.class, localAnnotation);
return rtn;
}
- Class beanClass = container.getBeanClass();
+ Class<?> beanClass = container.getBeanClass();
String endpoint = getEndpointInterface(container);
- Class[] remoteInterfaces = getRemoteInterfaces(container);
+ Class<?>[] remoteInterfaces = getRemoteAndBusinessRemoteInterfaces(container);
if (localAnnotation == null && remoteInterfaces.length == 0 && endpoint == null && (beanClass.getInterfaces() == null || beanClass.getInterfaces().length == 0))
throw new RuntimeException("bean class has no local, webservice, or remote interfaces defined and does not implement at least one business interface: " + container.getEjbName());
@@ -176,7 +171,7 @@
if (localAnnotation == null)
{
List<Class<?>> intfs = getBusinessInterfaces(beanClass);
- ArrayList<Class> locals = new ArrayList<Class>();
+ ArrayList<Class<?>> locals = new ArrayList<Class<?>>();
for (Class<?> clazz : intfs)
{
if (clazz.isAnnotationPresent(javax.ejb.Local.class))
@@ -199,10 +194,10 @@
List<Class<?>> interfaces = getBusinessInterfaces(beanClass);
if (interfaces.size() != 1) return new Class[]{}; // indeterminate
- Class intf = interfaces.get(0);
+ Class<?> intf = interfaces.get(0);
if (remoteInterfaces != null)
{
- for (Class rintf : remoteInterfaces)
+ for (Class<?> rintf : remoteInterfaces)
{
if (intf.getName().equals(rintf.getName()))
{
@@ -214,7 +209,7 @@
if (intf.getName().equals(endpoint))
return new Class[]{};
- Class[] rtn = {intf};
+ Class<?>[] rtn = {intf};
localAnnotation = new LocalImpl(rtn);
((EJBContainer) container).getAnnotations().addClassAnnotation(javax.ejb.Local.class, localAnnotation);
return rtn;
@@ -223,9 +218,9 @@
// Check to ensure @Local and @Remote are not defined on the same interface
// JIRA EJBTHREE-751
- for (Class remoteInterface : remoteInterfaces)
+ for (Class<?> remoteInterface : remoteInterfaces)
{
- for (Class localInterface : localAnnotation.value())
+ for (Class<?> localInterface : localAnnotation.value())
{
if (localInterface.equals(remoteInterface))
{
@@ -260,8 +255,8 @@
/*
* 4.6.6:
* The following interfaces are excluded when determining whether the bean class has
- * more than one interface: java.io.Serializable; java.io.Externaliz-
- * able; any of the interfaces defined by the javax.ejb package.
+ * more than one interface: java.io.Serializable; java.io.Externalizable;
+ * any of the interfaces defined by the javax.ejb package.
*/
for(Class<?> intf : beanClass.getInterfaces())
{
@@ -291,32 +286,30 @@
}
}
- public static Class getLocalHomeInterface(Container container)
+ public static Class<?> getLocalHomeInterface(Container container)
{
- Class beanClass = container.getBeanClass();
- LocalHome li = (javax.ejb.LocalHome) ((EJBContainer) container).resolveAnnotation(javax.ejb.LocalHome.class);
+ LocalHome li = ((EJBContainer) container).getAnnotation(javax.ejb.LocalHome.class);
if (li != null) return li.value();
return null;
}
- public static Class getRemoteHomeInterface(Container container)
+ public static Class<?> getRemoteHomeInterface(Container container)
{
- Class beanClass = container.getBeanClass();
- RemoteHome li = (javax.ejb.RemoteHome) ((EJBContainer) container).resolveAnnotation(javax.ejb.RemoteHome.class);
+ RemoteHome li = ((EJBContainer) container).getAnnotation(javax.ejb.RemoteHome.class);
if (li != null) return li.value();
return null;
}
- public static boolean publishesInterface(Container container, Class businessInterface)
+ public static boolean publishesInterface(Container container, Class<?> businessInterface)
{
if (!(container instanceof SessionContainer)) return false;
- Class[] remotes = getRemoteInterfaces(container);
- for (Class intf : remotes)
+ Class<?>[] remotes = getRemoteAndBusinessRemoteInterfaces(container);
+ for (Class<?> intf : remotes)
{
if (intf.getName().equals(businessInterface.getName())) return true;
}
- Class remoteHome = getRemoteHomeInterface(container);
+ Class<?> remoteHome = getRemoteHomeInterface(container);
if (remoteHome != null)
{
if (businessInterface.getName().equals(remoteHome.getName()))
@@ -324,15 +317,15 @@
return true;
}
}
- Class[] locals = getLocalInterfaces(container);
- for (Class clazz : locals)
+ Class<?>[] locals = getLocalAndBusinessLocalInterfaces(container);
+ for (Class<?> clazz : locals)
{
if (clazz.getName().equals(businessInterface.getName()))
{
return true;
}
}
- Class localHome = getLocalHomeInterface(container);
+ Class<?> localHome = getLocalHomeInterface(container);
if (localHome != null)
{
if (businessInterface.getName().equals(localHome.getName()))
@@ -364,15 +357,15 @@
return container.getEjbName() + "/localHome";
}
- public static String getJndiName(Container container, Class businessInterface)
+ public static String getJndiName(Container container, Class<?> businessInterface)
{
assert container != null : "container is null";
assert businessInterface != null : "businessInterface is null";
if (!(container instanceof SessionContainer)) return null;
Advisor advisor = (Advisor) container;
- Class[] remotes = getRemoteInterfaces(container);
- for (Class clazz : remotes)
+ Class<?>[] remotes = getRemoteAndBusinessRemoteInterfaces(container);
+ for (Class<?> clazz : remotes)
{
if (clazz.getName().equals(businessInterface.getName()))
{
@@ -388,7 +381,7 @@
return getRemoteJndiName(container, bindings.value()[0]);
}
}
- Class remoteHome = getRemoteHomeInterface(container);
+ Class<?> remoteHome = getRemoteHomeInterface(container);
if (remoteHome != null)
{
if (businessInterface.getName().equals(remoteHome.getName()))
@@ -396,15 +389,15 @@
return getHomeJndiName(container);
}
}
- Class[] locals = getLocalInterfaces(container);
- for (Class clazz : locals)
+ Class<?>[] locals = getLocalAndBusinessLocalInterfaces(container);
+ for (Class<?> clazz : locals)
{
if (clazz.getName().equals(businessInterface.getName()))
{
return getLocalJndiName(container);
}
}
- Class localHome = getLocalHomeInterface(container);
+ Class<?> localHome = getLocalHomeInterface(container);
if (localHome != null)
{
if (businessInterface.getName().equals(localHome.getName()))
@@ -453,20 +446,110 @@
throw new javax.ejb.EJBException("Conflict between default local jndi name " + ejbName + "/local and remote jndi name " + remoteJndiName + " for ejb-name:" + ejbName + ", bean class=" + container.getBeanClass());
}
}
+
+ /**
+ * Returns all local interfaces in the specified container; interfaces
+ * marked as "local" via either annotation or XML and extending EJBLocalObject
+ *
+ * @param container
+ * @return
+ */
+ public static Class<?>[] getLocalInterfaces(Container container)
+ {
+ return ProxyFactoryHelper.getInterfacesAssignableFromClass(ProxyFactoryHelper
+ .getLocalAndBusinessLocalInterfaces(container), EJBLocalObject.class, true);
+ }
+
+ /**
+ * Returns all remote interfaces in the specified container; interfaces
+ * marked as "remote" via either annotation or XML and extending EJBObject
+ *
+ * @param container
+ * @return
+ */
+ public static Class<?>[] getRemoteInterfaces(Container container)
+ {
+ return ProxyFactoryHelper.getInterfacesAssignableFromClass(ProxyFactoryHelper
+ .getRemoteAndBusinessRemoteInterfaces(container), EJBObject.class, true);
+ }
+
+ /**
+ * Returns all local business interfaces in the specified container; interfaces
+ * marked as "local" via either annotation or XML and not extending EJBLocalObject
+ *
+ * @param container
+ * @return
+ */
+ public static Class<?>[] getLocalBusinessInterfaces(Container container)
+ {
+ return ProxyFactoryHelper.getInterfacesAssignableFromClass(ProxyFactoryHelper
+ .getLocalAndBusinessLocalInterfaces(container), EJBLocalObject.class, false);
+ }
+
+ /**
+ * Returns all remote business interfaces in the specified container; interfaces
+ * marked as "remote" via either annotation or XML and not extending EJBObject
+ *
+ * @param container
+ * @return
+ */
+ public static Class<?>[] getRemoteBusinessInterfaces(Container container)
+ {
+ return ProxyFactoryHelper.getInterfacesAssignableFromClass(ProxyFactoryHelper
+ .getRemoteAndBusinessRemoteInterfaces(container), EJBObject.class, false);
+ }
+
+ /**
+ * Returns an subset of the specified array of interfaces either
+ * assignable to or not assignable to the specified class, depending
+ * upon the flag "assignable"
+ *
+ * @param interfaces
+ * @param clazz
+ * @param assignable
+ * @return
+ */
+ private static Class<?>[] getInterfacesAssignableFromClass(Class<?>[] interfaces,Class<?> clazz,boolean assignable)
+ {
+ // Initialize
+ List<Class<?>> subset = new ArrayList<Class<?>>();
+ // For all interfaces
+ for (Class<?> interfaze : interfaces)
+ {
+ // If we want assignable classes only
+ if (assignable && clazz.isAssignableFrom(interfaze))
+ {
+ subset.add(interfaze);
+ }
+
+ // If we want classes not assignable only
+ if (!assignable && !clazz.isAssignableFrom(interfaze))
+ {
+ subset.add(interfaze);
+ }
+ }
+
+ // Return
+ return subset.toArray(new Class<?>[]
+ {});
+ }
+
/**
+ * Returns all remote and remote business interfaces in the specified container,
+ * designated by @Remote or in ejb-jar.xml as "remote" or "business-remote"
*
* @param container
* @return the remote interfaces of the container or an empty array
*/
- public static Class<?>[] getRemoteInterfaces(Container container)
+ public static Class<?>[] getRemoteAndBusinessRemoteInterfaces(Container container)
{
Remote ri = (Remote) ((Advisor) container).resolveAnnotation(Remote.class);
if (ri == null)
{
- Class beanClass = container.getBeanClass();
- Class[] intfs = ProxyFactoryHelper.getBusinessInterfaces(beanClass).toArray(new Class[]{});
- ArrayList<Class> remotes = new ArrayList<Class>();
+ Class<?> beanClass = container.getBeanClass();
+ Class<?>[] intfs = ProxyFactoryHelper.getBusinessInterfaces(beanClass).toArray(new Class[]{});
+ ArrayList<Class<?>> remotes = new ArrayList<Class<?>>();
for (Class<?> clazz : intfs)
{
if (clazz.isAnnotationPresent(Remote.class))
@@ -482,19 +565,19 @@
return ri.value();
}
- return new Class[]{};
+ return new Class<?>[]{};
}
if (ri.value().length > 0) return ri.value();
// We have an emtpy @Remote annotated bean class
- List list = getBusinessInterfaces(container.getBeanClass());
+ List<Class<?>> list = getBusinessInterfaces(container.getBeanClass());
if (list.size() == 0)
throw new RuntimeException("Use of empty @Remote on bean class and there are no valid business interfaces: " + container.getEjbName());
if (list.size() > 1)
throw new RuntimeException("Use of empty @Remote on bean class and there are more than one default interface: " + container.getEjbName());
- Class[] rtn = {(Class) list.get(0)};
+ Class<?>[] rtn = {(Class<?>) list.get(0)};
ri = new RemoteImpl(rtn);
((EJBContainer) container).getAnnotations().addClassAnnotation(javax.ejb.Remote.class, ri);
return rtn;
Modified: trunk/ejb3/src/main/org/jboss/ejb3/iiop/IORFactory.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/iiop/IORFactory.java 2007-10-18 17:23:11 UTC (rev 66251)
+++ trunk/ejb3/src/main/org/jboss/ejb3/iiop/IORFactory.java 2007-10-18 17:24:00 UTC (rev 66252)
@@ -249,7 +249,7 @@
public void start() throws Exception
{
// TODO: IORFactory only supports 1 remote interface
- Class remoteInterfaces[] = ProxyFactoryHelper.getRemoteInterfaces(container);
+ Class remoteInterfaces[] = ProxyFactoryHelper.getRemoteAndBusinessRemoteInterfaces(container);
if(remoteInterfaces.length > 1)
log.warn("IIOP binding only works on 1 interface, using: " + remoteInterfaces[0].getName());
InterfaceAnalysis interfaceAnalysis = InterfaceAnalysis.getInterfaceAnalysis(remoteInterfaces[0]);
Modified: trunk/ejb3/src/main/org/jboss/ejb3/service/ServiceLocalProxyFactory.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/service/ServiceLocalProxyFactory.java 2007-10-18 17:23:11 UTC (rev 66251)
+++ trunk/ejb3/src/main/org/jboss/ejb3/service/ServiceLocalProxyFactory.java 2007-10-18 17:24:00 UTC (rev 66252)
@@ -41,7 +41,7 @@
protected Class[] getInterfaces()
{
- Class[] localInterfaces = ProxyFactoryHelper.getLocalInterfaces(container);
+ Class[] localInterfaces = ProxyFactoryHelper.getLocalAndBusinessLocalInterfaces(container);
Class[] interfaces = new Class[localInterfaces.length + 1];
System.arraycopy(localInterfaces, 0, interfaces, 0, localInterfaces.length);
interfaces[localInterfaces.length] = JBossProxy.class;
Modified: trunk/ejb3/src/main/org/jboss/ejb3/service/ServiceRemoteProxyFactory.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/service/ServiceRemoteProxyFactory.java 2007-10-18 17:23:11 UTC (rev 66251)
+++ trunk/ejb3/src/main/org/jboss/ejb3/service/ServiceRemoteProxyFactory.java 2007-10-18 17:24:00 UTC (rev 66252)
@@ -55,7 +55,7 @@
protected Class[] getInterfaces()
{
- Class[] remoteInterfaces = ProxyFactoryHelper.getRemoteInterfaces(container);
+ Class[] remoteInterfaces = ProxyFactoryHelper.getRemoteAndBusinessRemoteInterfaces(container);
Class[] interfaces = new Class[remoteInterfaces.length + 1];
System.arraycopy(remoteInterfaces, 0, interfaces, 0, remoteInterfaces.length);
interfaces[remoteInterfaces.length] = JBossProxy.class;
Modified: trunk/ejb3/src/main/org/jboss/ejb3/session/ProxyDeployer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/session/ProxyDeployer.java 2007-10-18 17:23:11 UTC (rev 66251)
+++ trunk/ejb3/src/main/org/jboss/ejb3/session/ProxyDeployer.java 2007-10-18 17:24:00 UTC (rev 66252)
@@ -119,7 +119,7 @@
localBinding = (LocalBinding) container.resolveAnnotation(LocalBinding.class);
if (localBinding == null)
{
- if (ProxyFactoryHelper.getLocalInterfaces(container).length > 0)
+ if (ProxyFactoryHelper.getLocalAndBusinessLocalInterfaces(container).length > 0)
{
localBinding = new LocalBindingImpl(ProxyFactoryHelper.getLocalJndiName(container));
container.getAnnotations().addClassAnnotation(LocalBinding.class, localBinding);
@@ -145,7 +145,7 @@
if (binding == null)
{
log.debug("no declared remote bindings for : " + container.getEjbName());
- if (ProxyFactoryHelper.getRemoteInterfaces(container).length > 0)
+ if (ProxyFactoryHelper.getRemoteAndBusinessRemoteInterfaces(container).length > 0)
{
log.debug("there is remote interfaces for " + container.getEjbName());
String jndiName = ProxyFactoryHelper.getDefaultRemoteJndiName(container);
Modified: trunk/ejb3/src/main/org/jboss/ejb3/session/SessionContainer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/session/SessionContainer.java 2007-10-18 17:23:11 UTC (rev 66251)
+++ trunk/ejb3/src/main/org/jboss/ejb3/session/SessionContainer.java 2007-10-18 17:24:00 UTC (rev 66252)
@@ -29,6 +29,7 @@
import java.util.List;
import java.util.Map;
+import javax.ejb.EJBLocalObject;
import javax.ejb.EJBObject;
import javax.ejb.Handle;
import javax.ejb.LocalHome;
@@ -44,6 +45,7 @@
import org.jboss.aop.joinpoint.InvocationResponse;
import org.jboss.aop.util.MethodHashing;
import org.jboss.aspects.asynch.FutureHolder;
+import org.jboss.ejb3.BeanContext;
import org.jboss.ejb3.EJBContainer;
import org.jboss.ejb3.EJBContainerInvocation;
import org.jboss.ejb3.Ejb3Deployment;
@@ -161,14 +163,14 @@
*/
protected abstract RemoteProxyFactory createRemoteProxyFactory(RemoteBinding binding);
- public Class getInvokedBusinessInterface()
+ public Class<?> getInvokedBusinessInterface()
{
InvokedMethod method = invokedMethod.get();
if (method == null) throw new IllegalStateException("getInvokedBusinessInterface() being invoked outside of a business invocation");
if (method.method == null) throw new IllegalStateException("getInvokedBusinessInterface() being invoked outside of a business invocation");
if (method.isLocalInterface) return method.method.getDeclaringClass();
- Class[] remoteInterfaces = ProxyFactoryHelper.getRemoteInterfaces(this);
- for (Class intf : remoteInterfaces)
+ Class<?>[] remoteInterfaces = ProxyFactoryHelper.getRemoteAndBusinessRemoteInterfaces(this);
+ for (Class<?> intf : remoteInterfaces)
{
try
{
@@ -193,9 +195,11 @@
protected List<Class<?>> resolveBusinessInterfaces()
{
+ // Obtain all business interfaces
List<Class<?>> list = new ArrayList<Class<?>>();
- list.addAll(Arrays.asList(ProxyFactoryHelper.getLocalInterfaces(this)));
- list.addAll(Arrays.asList(ProxyFactoryHelper.getRemoteInterfaces(this)));
+ list.addAll(Arrays.asList(ProxyFactoryHelper.getLocalBusinessInterfaces(this)));
+ list.addAll(Arrays.asList(ProxyFactoryHelper.getRemoteBusinessInterfaces(this)));
+
return list;
}
Modified: trunk/ejb3/src/main/org/jboss/ejb3/stateful/StatefulClusterProxyFactory.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/stateful/StatefulClusterProxyFactory.java 2007-10-18 17:23:11 UTC (rev 66251)
+++ trunk/ejb3/src/main/org/jboss/ejb3/stateful/StatefulClusterProxyFactory.java 2007-10-18 17:24:00 UTC (rev 66252)
@@ -87,7 +87,7 @@
protected Class[] getInterfaces()
{
- Class[] remoteInterfaces = ProxyFactoryHelper.getRemoteInterfaces(container);
+ Class[] remoteInterfaces = ProxyFactoryHelper.getRemoteAndBusinessRemoteInterfaces(container);
Class[] interfaces = new Class[remoteInterfaces.length + 1];
System.arraycopy(remoteInterfaces, 0, interfaces, 0, remoteInterfaces.length);
interfaces[remoteInterfaces.length] = JBossProxy.class;
Modified: trunk/ejb3/src/main/org/jboss/ejb3/stateful/StatefulContainer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/stateful/StatefulContainer.java 2007-10-18 17:23:11 UTC (rev 66251)
+++ trunk/ejb3/src/main/org/jboss/ejb3/stateful/StatefulContainer.java 2007-10-18 17:24:00 UTC (rev 66252)
@@ -898,7 +898,7 @@
boolean isRemote = false;
boolean found = false;
- Class[] remoteInterfaces = ProxyFactoryHelper.getRemoteInterfaces(this);
+ Class[] remoteInterfaces = ProxyFactoryHelper.getRemoteAndBusinessRemoteInterfaces(this);
for (Class intf : remoteInterfaces)
{
if (intf.getName().equals(businessInterface.getName()))
@@ -910,7 +910,7 @@
}
if (found == false)
{
- Class[] localInterfaces = ProxyFactoryHelper.getLocalInterfaces(this);
+ Class[] localInterfaces = ProxyFactoryHelper.getLocalAndBusinessLocalInterfaces(this);
for (Class intf : localInterfaces)
{
if (intf.getName().equals(businessInterface.getName()))
Modified: trunk/ejb3/src/main/org/jboss/ejb3/stateless/StatelessClusterProxyFactory.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/stateless/StatelessClusterProxyFactory.java 2007-10-18 17:23:11 UTC (rev 66251)
+++ trunk/ejb3/src/main/org/jboss/ejb3/stateless/StatelessClusterProxyFactory.java 2007-10-18 17:24:00 UTC (rev 66252)
@@ -77,7 +77,7 @@
protected Class[] getInterfaces()
{
- Class[] remoteInterfaces = ProxyFactoryHelper.getRemoteInterfaces(container);
+ Class[] remoteInterfaces = ProxyFactoryHelper.getRemoteAndBusinessRemoteInterfaces(container);
Class[] interfaces = new Class[remoteInterfaces.length + 1];
System.arraycopy(remoteInterfaces, 0, interfaces, 0, remoteInterfaces.length);
interfaces[remoteInterfaces.length] = JBossProxy.class;
More information about the jboss-cvs-commits
mailing list