luehe 2005/02/15 13:10:35 Modified: catalina/src/share/org/apache/catalina/session ManagerBase.java mbeans-descriptors.xml Log: Added getSession() action on session manager mbean Revision Changes Path 1.40 +38 -1 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/ManagerBase.java Index: ManagerBase.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- ManagerBase.java 11 Feb 2005 00:05:54 -0000 1.39 +++ ManagerBase.java 15 Feb 2005 21:10:35 -0000 1.40 @@ -29,6 +29,7 @@ import java.security.NoSuchAlgorithmException; import java.security.PrivilegedAction; import java.util.Date; +import java.util.Enumeration; import java.util.HashMap; import java.util.Iterator; import java.util.Random; @@ -1124,6 +1125,42 @@ } + /** + * Returns information about the session with the given session id. + * + * <p>The session information is organized as a HashMap, mapping + * session attribute names to the String representation of their values. + * + * @param sessionId Session id + * + * @return HashMap mapping session attribute names to the String + * representation of their values, or null if no session with the + * specified id exists, or if the session does not have any attributes + */ + public HashMap getSession(String sessionId) { + Session s = (Session) sessions.get(sessionId); + if (s == null) { + if (log.isInfoEnabled()) { + log.info("Session not found " + sessionId); + } + return null; + } + + Enumeration ee = s.getSession().getAttributeNames(); + if (ee == null || !ee.hasMoreElements()) { + return null; + } + + HashMap map = new HashMap(); + while (ee.hasMoreElements()) { + String attrName = (String) ee.nextElement(); + map.put(attrName, getSessionAttribute(sessionId, attrName)); + } + + return map; + } + + public void expireSession( String sessionId ) { Session s=(Session)sessions.get(sessionId); if( s==null ) { 1.11 +9 -0 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/mbeans-descriptors.xml Index: mbeans-descriptors.xml =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/mbeans-descriptors.xml,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- mbeans-descriptors.xml 2 Nov 2004 19:07:51 -0000 1.10 +++ mbeans-descriptors.xml 15 Feb 2005 21:10:35 -0000 1.11 @@ -260,6 +260,15 @@ type="java.lang.String"/> </operation> + <operation name="getSession" + description="Get information about a session" + impact="ACTION" + returnType="java.util.HashMap"> + <parameter name="sessionId" + description="Id of the session" + type="java.lang.String"/> + </operation> + <operation name="expireSession" description="Expire a session" impact="ACTION"
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]