1 17 package org.apache.geronimo.jetty6.cluster; 18 19 import org.apache.geronimo.clustering.SessionManager; 20 import org.apache.geronimo.gbean.GBeanInfo; 21 import org.apache.geronimo.gbean.GBeanInfoBuilder; 22 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory; 23 import org.apache.geronimo.jetty6.SessionHandlerFactory; 24 import org.mortbay.jetty.servlet.SessionHandler; 25 26 30 public class ClusteredSessionHandlerFactory implements SessionHandlerFactory { 31 private final SessionManager sessionManager; 32 33 public ClusteredSessionHandlerFactory(SessionManager sessionManager) { 34 this.sessionManager = sessionManager; 35 } 36 37 public SessionHandler createHandler() { 38 ClusteredSessionManager clusteredSessionManager = new ClusteredSessionManager(sessionManager); 39 return new ClusteredSessionHandler(clusteredSessionManager); 40 } 41 42 public static final GBeanInfo GBEAN_INFO; 43 44 public static final String GBEAN_REF_SESSION_MANAGER = "SessionManager"; 45 46 static { 47 GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic("Clustered Web Application Handler Factory", 48 ClusteredSessionHandlerFactory.class, NameFactory.GERONIMO_SERVICE); 49 50 infoFactory.addReference(GBEAN_REF_SESSION_MANAGER, SessionManager.class, NameFactory.GERONIMO_SERVICE); 51 52 infoFactory.addInterface(SessionHandlerFactory.class); 53 54 infoFactory.setConstructor(new String []{GBEAN_REF_SESSION_MANAGER}); 55 56 GBEAN_INFO = infoFactory.getBeanInfo(); 57 } 58 59 public static GBeanInfo getGBeanInfo() { 60 return GBEAN_INFO; 61 } 62 } 63 | Popular Tags |