You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by lu...@apache.org on 2004/09/03 02:53:02 UTC
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session ManagerBase.java StandardSession.java mbeans-descriptors.xml
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: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org