luehe       2004/09/02 17:53:02

  Modified:    catalina/src/share/org/apache/catalina Manager.java
               catalina/src/share/org/apache/catalina/session
                        ManagerBase.java StandardSession.java
                        mbeans-descriptors.xml
  Log:
  Added longest time an expired session had been alive to set of monitorable session 
manager attributes
  
  Revision  Changes    Path
  1.13      +21 -3     
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/Manager.java
  
  Index: Manager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/Manager.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- Manager.java      16 Aug 2004 09:31:07 -0000      1.12
  +++ Manager.java      3 Sep 2004 00:53:02 -0000       1.13
  @@ -199,6 +199,26 @@
       public void setRejectedSessions(int rejectedSessions);
   
   
  +    /**
  +     * Gets the longest time (in seconds) that an expired session had been
  +     * alive.
  +     *
  +     * @return Longest time (in seconds) that an expired session had been
  +     * alive.
  +     */
  +    public int getSessionMaxAliveTime();
  +
  +
  +    /**
  +     * Sets the longest time (in seconds) that an expired session had been
  +     * alive.
  +     *
  +     * @param sessionMaxAliveTime Longest time (in seconds) that an expired
  +     * session had been alive.
  +     */
  +    public void setSessionMaxAliveTime(int sessionMaxAliveTime);
  +
  +
       // --------------------------------------------------------- Public Methods
   
   
  @@ -301,7 +321,5 @@
         * a method that executes periodic tasks, such as expiring sessions etc.
         */
        public void backgroundProcess();
  -
  -
   
   }
  
  
  
  1.33      +31 -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.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- ManagerBase.java  31 Aug 2004 14:07:54 -0000      1.32
  +++ ManagerBase.java  3 Sep 2004 00:53:02 -0000       1.33
  @@ -148,6 +148,12 @@
   
   
       /**
  +     * The longest time (in seconds) that an expired session had been alive.
  +     */
  +    protected int sessionMaxAliveTime;
  +
  +
  +    /**
        * The set of currently active Sessions for this Manager, keyed by
        * session identifier.
        */
  @@ -877,6 +883,30 @@
   
       public void setMaxActive(int maxActive) {
           this.maxActive = maxActive;
  +    }
  +
  +
  +    /**
  +     * Gets the longest time (in seconds) that an expired session had been
  +     * alive.
  +     *
  +     * @return Longest time (in seconds) that an expired session had been
  +     * alive.
  +     */
  +    public int getSessionMaxAliveTime() {
  +        return sessionMaxAliveTime;
  +    }
  +
  +
  +    /**
  +     * Sets the longest time (in seconds) that an expired session had been
  +     * alive.
  +     *
  +     * @param sessionMaxAliveTime Longest time (in seconds) that an expired
  +     * session had been alive.
  +     */
  +    public void setSessionMaxAliveTime(int sessionMaxAliveTime) {
  +        this.sessionMaxAliveTime = sessionMaxAliveTime;
       }
   
   
  
  
  
  1.47      +13 -3     
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/StandardSession.java
  
  Index: StandardSession.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/StandardSession.java,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -r1.46 -r1.47
  --- StandardSession.java      15 Jul 2004 14:42:38 -0000      1.46
  +++ StandardSession.java      3 Sep 2004 00:53:02 -0000       1.47
  @@ -683,9 +683,19 @@
               accessCount = 0;
               setValid(false);
   
  +            /*
  +             * Compute how long this session has been alive, and update
  +             * manager's sessionMaxAliveTime property if necessary
  +             */
  +            long timeNow = System.currentTimeMillis();
  +            int timeAlive = (int) ((timeNow - creationTime)/1000);
  +            if (timeAlive > manager.getSessionMaxAliveTime()) {
  +                manager.setSessionMaxAliveTime(timeAlive);
  +            }
  +
  +
               // Remove this session from our manager's active sessions
  -            if (manager != null)
  -                manager.remove(this);
  +            manager.remove(this);
   
               // Notify interested session event listeners
               if (notify) {
  
  
  
  1.7       +4 -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.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- mbeans-descriptors.xml    14 Jul 2004 06:19:32 -0000      1.6
  +++ mbeans-descriptors.xml    3 Sep 2004 00:53:02 -0000       1.7
  @@ -71,6 +71,10 @@
             description="Maximum number of active sessions so far"
                    type="int" />
   
  +    <attribute   name="sessionMaxAliveTime"
  +          description="Longest time an expired session had been alive"
  +                 type="int" />
  +
       <attribute   name="rejectedSessions"
             description="Number of sessions we rejected due to maxActive beeing 
reached"
                    type="int" />
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to