1 package sessionViewer.business; 2 3 import java.util.Vector ; 4 import java.util.Enumeration ; 5 import com.lutris.appserver.server.httpPresentation.servlet.*; 6 import com.lutris.appserver.server.*; 7 import com.lutris.appserver.server.session.*; 8 import sessionViewer.spec.*; 9 import com.lutris.appserver.server.sessionContainerAdapter.*; 10 import javax.servlet.*; 11 import org.mortbay.jetty.*; 12 import org.mortbay.http.*; 13 import org.mortbay.servlet.*; 14 import org.mortbay.jetty.servlet.*; 15 16 17 public class ApplicationListImpl implements ApplicationList{ 18 19 20 public Vector [] getList() throws Exception { 21 22 Vector servlets=GlobalImpl.getServletNames(); 23 24 Vector [] result = new Vector [2]; 25 result[0] = new Vector (); 26 result[1] = new Vector (); 27 28 29 for(int k=0;k<servlets.size();k++){ 30 Servlet s = null; 31 HttpContext sc=null; 32 Application app = null; 33 String tempName=null; 34 com.lutris.appserver.server.session.SessionManager sessionManager = null; 35 tempName=(String )servlets.elementAt(k); 36 sc=GlobalImpl.getServlet(tempName); 37 try{ 38 ServletHandler ttt=(ServletHandler)sc.getHandler(Class.forName("org.mortbay.jetty.servlet.ServletHandler")); 39 ServletHolder sh=ttt.getServletHolder("enhydra"); 40 if(sh!=null) 41 { 42 try{ 43 s= sh.getServlet(); 44 }catch(Exception e){ 45 46 } 47 } 48 49 if (s !=null) 50 { 51 try { 52 app = ((HttpPresentationServlet)s).getApplication(); 53 54 sessionManager = app.getSessionManager(); 55 if ((sessionManager instanceof ContainerAdapterSessionManager) || (sessionManager instanceof JmxContainerAdapterSessionManager)){ 56 AbstractSessionManager manager=(AbstractSessionManager)((ServletHandler)(sc.getHandler(Class.forName("org.mortbay.jetty.servlet.ServletHandler")))).getSessionManager(); 57 Integer o = new Integer (manager.getSessions()); 58 result[0].addElement(tempName); 59 result[1].addElement(o); 60 }else{ 61 Integer o = new Integer (sessionManager.activeSessionCount()); 62 result[0].addElement(tempName); 63 result[1].addElement(o); 64 } 65 } catch (Exception ex){ 66 System.out.println("Couldn't get number of active sessions for "+tempName+" application!"); 67 result[0].clear(); 68 result[1].clear(); 69 } 70 } else{ 71 try{ 72 AbstractSessionManager manager=(AbstractSessionManager)((ServletHandler)(sc.getHandler(Class.forName("org.mortbay.jetty.servlet.ServletHandler")))).getSessionManager(); 73 Integer o = new Integer (manager.getSessions()); 74 result[0].addElement(tempName); 75 result[1].addElement(o); 76 } catch (Exception ex){ 77 System.out.println("Couldn't get number of active sessions for "+tempName+" application!"); 78 result[0].clear(); 79 result[1].clear(); 80 } 81 82 } 83 84 }catch(Exception e){ 85 86 System.out.println("Couldn't acess to servlet :"+tempName+" !"); 87 result[0].clear(); 88 result[1].clear(); 89 } 90 } 91 return result; 92 } 93 } 94 95 | Popular Tags |