KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > lateralnz > panther > wrapper > SessionBeanHome


1 package org.lateralnz.panther.wrapper;
2
3 import java.io.Serializable JavaDoc;
4 import java.rmi.RemoteException JavaDoc;
5 import java.rmi.server.UnicastRemoteObject JavaDoc;
6
7 import javax.ejb.EJBHome JavaDoc;
8 import javax.ejb.EJBMetaData JavaDoc;
9 import javax.ejb.Handle JavaDoc;
10 import javax.ejb.HomeHandle JavaDoc;
11 import javax.ejb.SessionBean JavaDoc;
12
13 import org.apache.commons.pool.impl.GenericKeyedObjectPool;
14 import org.apache.log4j.Logger;
15
16 /**
17  *
18  * @author jbriggs
19  */

20 public class SessionBeanHome extends UnicastRemoteObject JavaDoc implements EJBHome JavaDoc, Serializable JavaDoc {
21   private static final Logger log = Logger.getLogger(SessionBeanHome.class.getName());
22   protected GenericKeyedObjectPool pool = null;
23   protected String JavaDoc name;
24   protected EJBMetaData JavaDoc metadata;
25   
26   public SessionBeanHome(String JavaDoc name, GenericKeyedObjectPool pool) throws RemoteException JavaDoc {
27     this.name = name;
28     this.pool = pool;
29   }
30   
31   public HomeHandle JavaDoc getHomeHandle() throws RemoteException JavaDoc { return null; }
32   
33   public void setEJBMetaData(EJBMetaData JavaDoc metadata) {
34     this.metadata = metadata;
35   }
36   
37   public EJBMetaData JavaDoc getEJBMetaData() {
38     return metadata;
39   }
40   
41   public void remove(Handle JavaDoc handle) throws RemoteException JavaDoc {
42     Object JavaDoc obj = handle.getEJBObject();
43     if (log.isDebugEnabled()) {
44       log.debug("removing ejbobj (by handle) " + obj);
45     }
46     try {
47       SessionBean JavaDoc sb = (SessionBean JavaDoc)obj;
48       sb.ejbRemove();
49     }
50     catch (Exception JavaDoc e) {
51       e.printStackTrace();
52     }
53     
54     try {
55       pool.returnObject(name, obj);
56     }
57     catch (Exception JavaDoc e) {
58       e.printStackTrace();
59     }
60   }
61   
62   public void remove(Object JavaDoc obj) throws RemoteException JavaDoc {
63     throw new RemoteException JavaDoc("cannot remove a session bean by key");
64   }
65   
66 }
67
Popular Tags