JStatefulPool.java

00001 
00026 package org.objectweb.jonas_ejb.container;
00027 
00028 import java.util.Hashtable;
00029 
00030 import org.objectweb.util.monolog.api.BasicLevel;
00031 
00038 public class JStatefulPool {
00039 
00040     private Hashtable memoryList = new Hashtable();
00041 
00042     private Hashtable diskList = new Hashtable();
00043 
00044     private int sessionCount = 0;
00045 
00049     public JStatefulPool() {
00050         TraceEjb.ssfpool.log(BasicLevel.DEBUG, "");
00051     }
00052 
00058     public synchronized int addContext(JStatefulContext ctx) {
00059 
00060         // sanity check
00061         if (ctx == null) {
00062             TraceEjb.logger.log(BasicLevel.ERROR, "null");
00063         }
00064 
00065         // First get a unique identifier
00066         int ctxid = sessionCount++;
00067         TraceEjb.ssfpool.log(BasicLevel.DEBUG, "#" + ctxid);
00068 
00069         // Put in in the memoryList
00070         memoryList.put(new Integer(ctxid), ctx);
00071 
00072         // return Id
00073         return ctxid;
00074     }
00075 
00081     public synchronized JStatefulContext getContext(int ctxid) {
00082         TraceEjb.ssfpool.log(BasicLevel.DEBUG, "#" + ctxid);
00083 
00084         JStatefulContext ctx = (JStatefulContext) memoryList.get(new Integer(ctxid));
00085         // TODO
00086 
00087         // sanity check
00088         if (ctx == null) {
00089             TraceEjb.logger.log(BasicLevel.ERROR, "null");
00090         }
00091 
00092         return ctx;
00093     }
00094 
00099     public synchronized void removeContext(int ctxid) {
00100         TraceEjb.ssfpool.log(BasicLevel.DEBUG, "#" + ctxid);
00101 
00102         memoryList.remove(new Integer(ctxid));
00103         TraceEjb.ssfpool.log(BasicLevel.DEBUG, "memoryList size = " + memoryList.size());
00104     }
00105 }

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