dain 2005/06/20 21:22:14
Modified: modules/core/src/java/org/openejb/proxy
SerializationHanlder.java
Log:
Moved portable stub compiler from geronimo interop
Revision Changes Path
1.6 +14 -2
openejb/modules/core/src/java/org/openejb/proxy/SerializationHanlder.java
Index: SerializationHanlder.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/proxy/SerializationHanlder.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- SerializationHanlder.java 10 Feb 2005 11:00:00 -0000 1.5
+++ SerializationHanlder.java 21 Jun 2005 01:22:14 -0000 1.6
@@ -51,7 +51,10 @@
import java.io.ByteArrayInputStream;
import java.rmi.MarshalledObject;
+import javax.xml.rpc.Stub;
+
import org.apache.geronimo.kernel.ObjectInputStreamExt;
+import org.omg.CORBA.ORB;
public class SerializationHanlder {
@@ -76,7 +79,16 @@
public static void copyArgs(Object[] objects) throws IOException,
ClassNotFoundException {
for (int i = 0; i < objects.length; i++) {
- objects[i] = copyObj(objects[i]);
+ Object originalObject = objects[i];
+ Object copy = copyObj(originalObject);
+ // connect a coppied stub to the same orb as the original stub
+ if (copy instanceof javax.rmi.CORBA.Stub) {
+ ORB orb = ((javax.rmi.CORBA.Stub)originalObject)._orb();
+ if (orb != null) {
+ ((javax.rmi.CORBA.Stub)copy).connect(orb);
+ }
+ }
+ objects[i] = copy;
}
}