User: oberg
Date: 01/02/28 02:37:52
Modified: src/main/org/jboss/ejb/plugins/jrmp/server
JRMPContainerInvoker.java
Log:
Fixed exception marshaling
Revision Changes Path
1.35 +15 -5
jboss/src/main/org/jboss/ejb/plugins/jrmp/server/JRMPContainerInvoker.java
Index: JRMPContainerInvoker.java
===================================================================
RCS file:
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/jrmp/server/JRMPContainerInvoker.java,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- JRMPContainerInvoker.java 2001/02/21 09:55:57 1.34
+++ JRMPContainerInvoker.java 2001/02/28 10:37:51 1.35
@@ -76,7 +76,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Sebastien
Alborini</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Marc Fleury</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Juha Lindfors</a>
- * @version $Revision: 1.34 $
+ * @version $Revision: 1.35 $
*/
public class JRMPContainerInvoker
extends RemoteServer
@@ -395,8 +395,6 @@
throws Exception
{
// Check if this call really can be optimized
- // If parent of callers classloader is != parent of our classloader -> not
optimizable!
- // if (Thread.currentThread().getContextClassLoader().getParent() !=
container.getClassLoader().getParent())
if
(!m.getDeclaringClass().isAssignableFrom(((ContainerInvokerContainer)container).getHomeClass()))
{
RemoteMethodInvocation rmi = new RemoteMethodInvocation(null, m, args);
@@ -409,7 +407,13 @@
rmi.setCredential( SecurityAssociation.getCredential() );
// Invoke on the container, enforce marshalling
- return invokeHome(new MarshalledObject(rmi)).get();
+ try
+ {
+ return invokeHome(new MarshalledObject(rmi)).get();
+ } catch (Exception e)
+ {
+ throw (Exception)new MarshalledObject(e).get();
+ }
}
// Set the right context classloader
@@ -449,7 +453,13 @@
rmi.setCredential( SecurityAssociation.getCredential() );
// Invoke on the container, enforce marshalling
- return invoke(new MarshalledObject(rmi)).get();
+ try
+ {
+ return invoke(new MarshalledObject(rmi)).get();
+ } catch (Exception e)
+ {
+ throw (Exception)new MarshalledObject(e).get();
+ }
}
// Set the right context classloader