dain 2005/09/16 14:02:10
Modified: modules/core/src/java/org/openejb/server/ejbd EjbDaemon.java
EjbRequestHandler.java EjbServer.java
EjbServerGBean.java
Log:
Changed orb reference in the EJB protocol to a collection reference so it can
be optional. This allows us to split out the CORBA configuration from the main
server.
Revision Changes Path
1.6 +4 -4
openejb/modules/core/src/java/org/openejb/server/ejbd/EjbDaemon.java
Index: EjbDaemon.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/server/ejbd/EjbDaemon.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- EjbDaemon.java 23 Mar 2005 08:23:23 -0000 1.5
+++ EjbDaemon.java 16 Sep 2005 18:02:10 -0000 1.6
@@ -50,6 +50,7 @@
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.net.Socket;
+import java.util.Collection;
import javax.ejb.EJBHome;
import javax.ejb.EJBMetaData;
import javax.ejb.EJBObject;
@@ -60,7 +61,6 @@
import org.apache.commons.logging.LogFactory;
import org.openejb.ContainerIndex;
-import org.openejb.corba.ORBRef;
import org.openejb.client.RequestMethods;
import org.openejb.client.ResponseCodes;
import org.openejb.proxy.ProxyInfo;
@@ -89,11 +89,11 @@
this(ContainerIndex.getInstance(), null);
}
- public EjbDaemon(ContainerIndex containerIndex, ORBRef orbRef) throws
Exception {
+ public EjbDaemon(ContainerIndex containerIndex, Collection orbRefs)
throws Exception {
clientObjectFactory = new ClientObjectFactory(containerIndex);
// Request Handlers
- ejbHandler = new EjbRequestHandler(containerIndex, orbRef);
+ ejbHandler = new EjbRequestHandler(containerIndex, orbRefs);
jndiHandler = new JndiRequestHandler(containerIndex);
authHandler = new AuthRequestHandler();
}
1.22 +12 -4
openejb/modules/core/src/java/org/openejb/server/ejbd/EjbRequestHandler.java
Index: EjbRequestHandler.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/server/ejbd/EjbRequestHandler.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- EjbRequestHandler.java 15 Sep 2005 06:32:00 -0000 1.21
+++ EjbRequestHandler.java 16 Sep 2005 18:02:10 -0000 1.22
@@ -51,6 +51,7 @@
import java.lang.reflect.Method;
import java.rmi.RemoteException;
import java.util.Collection;
+import java.util.Iterator;
import javax.security.auth.Subject;
@@ -75,11 +76,11 @@
private static final Log log =
LogFactory.getLog(EjbRequestHandler.class);
private final ContainerIndex containerIndex;
- private final ORBRef orbRef;
+ private final Collection orbRefs;
- EjbRequestHandler(ContainerIndex containerIndex, ORBRef orbRef) {
- this.orbRef = orbRef;
+ EjbRequestHandler(ContainerIndex containerIndex, Collection orbRefs) {
+ this.orbRefs = orbRefs;
if (containerIndex == null) {
containerIndex = ContainerIndex.getInstance();
@@ -92,6 +93,13 @@
EJBObjectInputStream in = (EJBObjectInputStream) input;
+ ORBRef orbRef = null;
+ if (orbRefs != null) {
+ Iterator iterator = orbRefs.iterator();
+ if (iterator.hasNext()) {
+ orbRef = (ORBRef) iterator.next();
+ }
+ }
EJBInvocationStream req = new EJBInvocationStream(orbRef);
EJBResponse res = new EJBResponse();
1.7 +8 -8
openejb/modules/core/src/java/org/openejb/server/ejbd/EjbServer.java
Index: EjbServer.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/server/ejbd/EjbServer.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- EjbServer.java 6 Sep 2005 08:09:45 -0000 1.6
+++ EjbServer.java 16 Sep 2005 18:02:10 -0000 1.7
@@ -45,17 +45,17 @@
package org.openejb.server.ejbd;
+import java.io.IOException;
+import java.net.Socket;
+import java.util.Collection;
+import java.util.Properties;
+
import org.activeio.xnet.ServerService;
import org.activeio.xnet.ServiceException;
import org.openejb.ContainerIndex;
import org.openejb.OpenEJB;
-import org.openejb.corba.ORBRef;
import org.openejb.server.ServerFederation;
-import java.io.IOException;
-import java.net.Socket;
-import java.util.Properties;
-
/**
* @since 11/25/2001
*/
@@ -73,8 +73,8 @@
ejbDaemon = EjbDaemon.getEjbDaemon();
}
- public EjbServer(ContainerIndex containerIndex, ORBRef orbRef) throws
Exception {
- ejbDaemon = new EjbDaemon(containerIndex, orbRef);
+ public EjbServer(ContainerIndex containerIndex, Collection orbRefs)
throws Exception {
+ ejbDaemon = new EjbDaemon(containerIndex, orbRefs);
}
public void init(Properties props) throws Exception {
1.6 +3 -3
openejb/modules/core/src/java/org/openejb/server/ejbd/EjbServerGBean.java
Index: EjbServerGBean.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/server/ejbd/EjbServerGBean.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- EjbServerGBean.java 6 Sep 2005 08:09:45 -0000 1.5
+++ EjbServerGBean.java 16 Sep 2005 18:02:10 -0000 1.6
@@ -67,9 +67,9 @@
infoFactory.addInterface(SocketService.class);
infoFactory.addReference("ContainerIndex", ContainerIndex.class,
NameFactory.GERONIMO_SERVICE);
- infoFactory.addReference("ORBRef", ORBRef.class,
NameFactory.CORBA_SERVICE);
+ infoFactory.addReference("ORBRefs", ORBRef.class,
NameFactory.CORBA_SERVICE);
- infoFactory.setConstructor(new String[]{"ContainerIndex", "ORBRef"});
+ infoFactory.setConstructor(new String[]{"ContainerIndex",
"ORBRefs"});
GBEAN_INFO = infoFactory.getBeanInfo();
}