You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by ri...@apache.org on 2007/01/08 22:22:38 UTC
svn commit: r494200 - in
/incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba:
CORBAHandle.java CorbaApplicationServer.java StandardServant.java
Author: rickmcguire
Date: Mon Jan 8 13:22:38 2007
New Revision: 494200
URL: http://svn.apache.org/viewvc?view=rev&rev=494200
Log:
OPENEJB-436 Exception when remove(handle) is called on a stateless session bean.
Modified:
incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CORBAHandle.java
incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CorbaApplicationServer.java
incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/StandardServant.java
Modified: incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CORBAHandle.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CORBAHandle.java?view=diff&rev=494200&r1=494199&r2=494200
==============================================================================
--- incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CORBAHandle.java (original)
+++ incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CORBAHandle.java Mon Jan 8 13:22:38 2007
@@ -42,22 +42,25 @@
* or J2EE application components directly.
*
* @version $Revision$ $Date$
- */
+*/
public class CORBAHandle implements Handle, Serializable {
private static final long serialVersionUID = -3390719015323727224L;
private String ior;
private Object primaryKey;
+ // the remote interface this EJBObject implements
+ private Class remoteInterface;
- public CORBAHandle(String ior, Object primaryKey) {
+ public CORBAHandle(String ior, Object primaryKey, Class remoteInterface) {
this.ior = ior;
this.primaryKey = primaryKey;
+ this.remoteInterface = remoteInterface;
}
public EJBObject getEJBObject() throws RemoteException {
try {
- return (EJBObject) PortableRemoteObject.narrow(getOrb().string_to_object(ior), EJBObject.class);
+ return (EJBObject) PortableRemoteObject.narrow(getOrb().string_to_object(ior), remoteInterface);
} catch (Exception e) {
throw new RemoteException("Unable to convert IOR into object", e);
}
@@ -71,12 +74,14 @@
HandleDelegate handleDelegate = getHandleDelegate();
handleDelegate.writeEJBObject(getEJBObject(), out);
out.writeObject(primaryKey);
+ out.writeObject(remoteInterface);
}
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
HandleDelegate handleDelegate = getHandleDelegate();
EJBObject obj = handleDelegate.readEJBObject(in);
primaryKey = in.readObject();
+ remoteInterface = (Class)in.readObject();
try {
ior = getOrb().object_to_string((org.omg.CORBA.Object) obj);
Modified: incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CorbaApplicationServer.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CorbaApplicationServer.java?view=diff&rev=494200&r1=494199&r2=494200
==============================================================================
--- incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CorbaApplicationServer.java (original)
+++ incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/CorbaApplicationServer.java Mon Jan 8 13:22:38 2007
@@ -59,7 +59,7 @@
public javax.ejb.Handle getHandle(ProxyInfo proxyInfo) {
org.omg.CORBA.Object ejbObject = (org.omg.CORBA.Object) getEJBObject(proxyInfo);
String ior = getOrb().object_to_string(ejbObject);
- Handle handle = new CORBAHandle(ior, proxyInfo.getPrimaryKey());
+ Handle handle = new CORBAHandle(ior, proxyInfo.getPrimaryKey(), proxyInfo.getRemoteInterface());
return handle;
}
Modified: incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/StandardServant.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/StandardServant.java?view=diff&rev=494200&r1=494199&r2=494200
==============================================================================
--- incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/StandardServant.java (original)
+++ incubator/openejb/trunk/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/StandardServant.java Mon Jan 8 13:22:38 2007
@@ -220,8 +220,6 @@
return Util.writeUserException(method, reply, invocationResult.getException());
}
invocationResult.getResult();
-//
-// ejbContainer.getEjbHome().remove(handle.getPrimaryKey());
}
} catch (RemoveException e) {