KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > enhydraManager > business > ApplicationSessionListImpl


1 package enhydraManager.business;
2
3 import java.util.Vector JavaDoc;
4 import java.util.Enumeration JavaDoc;
5
6 import com.lutris.appserver.server.httpPresentation.servlet.*;
7
8 import com.lutris.appserver.server.*;
9 import com.lutris.appserver.server.session.*;
10 import com.lutris.appserver.server.session.Session;
11 import enhydraManager.spec.*;
12 import com.lutris.appserver.server.sessionContainerAdapter.*;
13 import javax.servlet.*;
14
15 import org.apache.catalina.*;
16 import org.apache.catalina.core.*;
17 import org.apache.catalina.core.StandardContext;
18
19 import java.util.Date JavaDoc;
20
21 public class ApplicationSessionListImpl implements ApplicationSessionList{
22     
23     
24     public Vector JavaDoc getList(String JavaDoc service,String JavaDoc host,String JavaDoc application) throws Exception JavaDoc {
25  
26      
27      StandardContext sc=GlobalImpl.getServlet(service,host,application);
28      
29      
30        Vector JavaDoc result = new Vector JavaDoc();
31        Application app = null;
32        SessionManager sessionManager = null;
33        String JavaDoc sessionID=null;
34        Session session = null;
35     
36       try{
37          
38          Container[] wrappers=sc.findChildren();
39          StandardWrapper sw=(StandardWrapper)wrappers[0];
40        
41          Servlet s=sw.allocate();
42      
43      
44        if (s instanceof HttpPresentationServlet){
45             app = ((HttpPresentationServlet)s).getApplication();
46             
47             try {
48                 sessionManager = app.getSessionManager();
49                if ((sessionManager instanceof ContainerAdapterSessionManager) || (sessionManager instanceof JmxContainerAdapterSessionManager))
50                   {
51                   
52                     Manager manager=sc.getManager();
53                     org.apache.catalina.Session[] ses= manager.findSessions();
54                     
55                     for(int i=0;i<ses.length;i++)
56                        result.addElement(ses[i].getId());
57                       
58             }else{
59                 Enumeration JavaDoc sessionKeys = sessionManager.getSessionKeys();
60                 
61                 while (sessionKeys.hasMoreElements()) {
62                   sessionID = (String JavaDoc) sessionKeys.nextElement();
63                   result.addElement(sessionID);
64                 }
65          
66            }
67         
68         
69             } catch (Exception JavaDoc ex){
70                 System.out.println("Couldn't get number of active sessions for "+application+" servlet!");
71                 result.clear();
72             }
73        }else{
74        try{
75         Manager manager=sc.getManager();
76     org.apache.catalina.Session[] ses= manager.findSessions();
77         for(int i=0;i<ses.length;i++)
78                        result.addElement(ses[i].getId());
79      } catch (Exception JavaDoc ex){
80             System.out.println("Couldn't get number of active sessions for "+application+" servlet!");
81             result.clear();
82      }
83        
84        }
85     
86        sw.deallocate(s);
87      
88      
89       }catch(ServletException e){
90        
91         System.out.println("Couldn't acess to servlet :"+application+" !");
92                 result.clear();
93         
94         }
95      
96       
97        return result;
98     }
99   
100 }
101
102
Popular Tags