KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jfox > ejb > HomeHandleImpl


1 /* JFox, the OpenSource J2EE Application Server
2  *
3  * Distributable under GNU LGPL license by gun.org
4  * more details please visit http://www.huihoo.org/jfox
5  */

6
7 package org.jfox.ejb;
8
9 import java.rmi.RemoteException JavaDoc;
10 import javax.ejb.EJBHome JavaDoc;
11 import javax.ejb.HomeHandle JavaDoc;
12 import javax.naming.Context JavaDoc;
13 import javax.naming.InitialContext JavaDoc;
14
15 /**
16  * @author <a HREF="mailto:young_yy@hotmail.com">Young Yang</a>
17  */

18
19 public class HomeHandleImpl implements HomeHandle JavaDoc {
20     private String JavaDoc jndiName = null;
21
22     public HomeHandleImpl(String JavaDoc jndiName) {
23         this.jndiName = jndiName;
24     }
25
26     /**
27      * 从 jndi 重新得到 EJBHome
28      * 因为是通过 jndi 按照名称重新获得 EJBHome,所以必须保证 jndi 能用,而且该名称没有被覆盖
29      *
30      * @return EJBHome
31      * @throws RemoteException
32      */

33     public EJBHome JavaDoc getEJBHome() throws RemoteException JavaDoc {
34         try {
35             Context JavaDoc ctx = new InitialContext JavaDoc();
36             Object JavaDoc obj = ctx.lookup(jndiName);
37             EJBHome JavaDoc home = (EJBHome JavaDoc) javax.rmi.PortableRemoteObject.narrow(obj, EJBHome JavaDoc.class);
38             return home;
39         }
40         catch(Exception JavaDoc e) {
41             throw new RemoteException JavaDoc(e.getMessage(), e);
42         }
43     }
44
45 }
46
Popular Tags