JHomeHandle.java

00001 
00026 package org.objectweb.jonas_ejb.container;
00027 
00028 import java.io.Serializable;
00029 import java.rmi.RemoteException;
00030 
00031 import javax.ejb.EJBHome;
00032 import javax.ejb.HomeHandle;
00033 import javax.naming.Context;
00034 import javax.naming.InitialContext;
00035 import javax.naming.NamingException;
00036 import javax.rmi.PortableRemoteObject;
00037 
00038 import org.objectweb.util.monolog.api.BasicLevel;
00039 
00046 public class JHomeHandle implements HomeHandle, Serializable {
00047 
00051     private String homename = null;
00052 
00056     private EJBHome ejbHome = null;
00057 
00062     public JHomeHandle(String hname) {
00063         homename = hname;
00064     }
00065 
00066     // -----------------------------------------------------------------------
00067     // HomeHandle implementation
00068     // -----------------------------------------------------------------------
00069 
00076     public EJBHome getEJBHome() throws RemoteException {
00077 
00078         TraceEjb.interp.log(BasicLevel.DEBUG, homename);
00079         Context ic = null;
00080         if (ejbHome == null) {
00081             try {
00082                 ic = new InitialContext();
00083                 Object o = ic.lookup(homename);
00084                 ejbHome = (EJBHome) PortableRemoteObject.narrow(o, EJBHome.class);
00085             } catch (NamingException e) {
00086                 throw new RemoteException("getEJBHome:" + e);
00087             }
00088         }
00089         return ejbHome;
00090     }
00091 }
00092 
00093 

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