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
  
  
  

Reply via email to