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]