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]

Reply via email to