JHandleDelegate.java

00001 
00026 package org.objectweb.jonas_ejb.container;
00027 
00028 import java.io.IOException;
00029 import java.io.ObjectInputStream;
00030 import java.io.ObjectOutputStream;
00031 
00032 import javax.ejb.EJBHome;
00033 import javax.ejb.EJBObject;
00034 import javax.ejb.spi.HandleDelegate;
00035 import javax.rmi.PortableRemoteObject;
00036 
00037 import org.objectweb.carol.rmi.util.RmiMultiUtility;
00038 import org.objectweb.util.monolog.api.BasicLevel;
00039 
00044 public class JHandleDelegate implements HandleDelegate {
00045 
00046     // -----------------------------------------------------------------------
00047     // HandleDelegate implementation
00048     // ------------------------------------------------------------------------
00049 
00060     public void writeEJBObject(EJBObject ejb, ObjectOutputStream out) throws IOException {
00061         TraceEjb.interp.log(BasicLevel.DEBUG, "");
00062         out.writeObject(ejb);
00063     }
00064 
00081     public EJBObject readEJBObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
00082         TraceEjb.interp.log(BasicLevel.DEBUG, "");
00083         Object ejb = in.readObject();
00084         RmiMultiUtility.reconnectStub2Orb(ejb);
00085         return (EJBObject) PortableRemoteObject.narrow(ejb, EJBObject.class);
00086     }
00087 
00098     public void writeEJBHome(EJBHome home, ObjectOutputStream out) throws IOException {
00099         TraceEjb.interp.log(BasicLevel.DEBUG, "");
00100         out.writeObject(home);
00101     }
00102 
00119     public EJBHome readEJBHome(ObjectInputStream in) throws IOException, ClassNotFoundException {
00120         TraceEjb.interp.log(BasicLevel.DEBUG, "");
00121         Object home = in.readObject();
00122         RmiMultiUtility.reconnectStub2Orb(home);
00123         return (EJBHome) PortableRemoteObject.narrow(home, EJBHome.class);
00124     }
00125 }

Generated on Tue Feb 15 15:05:38 2005 for JOnAS by  doxygen 1.3.9.1