Author: markt Date: Thu Jul 29 11:49:47 2010 New Revision: 980411 URL: http://svn.apache.org/viewvc?rev=980411&view=rev Log: Refactoring - reduce duplication Handle maxActiveSessions, rejectedSessions and processingTime in ManagerBase
Modified: tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties tomcat/trunk/java/org/apache/catalina/session/LocalStrings_es.properties tomcat/trunk/java/org/apache/catalina/session/LocalStrings_fr.properties tomcat/trunk/java/org/apache/catalina/session/LocalStrings_ja.properties tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java tomcat/trunk/java/org/apache/catalina/session/PersistentManagerBase.java tomcat/trunk/java/org/apache/catalina/session/StandardManager.java Modified: tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java?rev=980411&r1=980410&r2=980411&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java (original) +++ tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java Thu Jul 29 11:49:47 2010 @@ -95,10 +95,6 @@ public class DeltaManager extends Cluste */ private volatile ReplicationValve replicationValve = null ; - /** - * The maximum number of active Sessions allowed, or -1 for no limit. - */ - private int maxActiveSessions = -1; private boolean expireSessionsOnShutdown = false; private boolean notifyListenersOnReplication = true; private boolean notifySessionListenersOnReplication = true; @@ -120,9 +116,7 @@ public class DeltaManager extends Cluste // ------------------------------------------------------------------ stats attributes - int rejectedSessions = 0; private long sessionReplaceCounter = 0 ; - long processingTime = 0; private long counterReceive_EVT_GET_ALL_SESSIONS = 0 ; private long counterReceive_EVT_ALL_SESSION_DATA = 0 ; private long counterReceive_EVT_SESSION_CREATED = 0 ; @@ -299,15 +293,6 @@ public class DeltaManager extends Cluste } /** - * Number of session creations that failed due to maxActiveSessions - * - * @return The count - */ - public int getRejectedSessions() { - return rejectedSessions; - } - - /** * @return Returns the counterNoStateTransfered. */ public int getCounterNoStateTransfered() { @@ -390,25 +375,6 @@ public class DeltaManager extends Cluste } /** - * Return the maximum number of active Sessions allowed, or -1 for no limit. - */ - public int getMaxActiveSessions() { - return (this.maxActiveSessions); - } - - /** - * Set the maximum number of active Sessions allowed, or -1 for no limit. - * - * @param max - * The new maximum number of sessions - */ - public void setMaxActiveSessions(int max) { - int oldMaxActiveSessions = this.maxActiveSessions; - this.maxActiveSessions = max; - support.firePropertyChange("maxActiveSessions", new Integer(oldMaxActiveSessions), new Integer(this.maxActiveSessions)); - } - - /** * * @return Returns the sendAllSessions. */ @@ -536,10 +502,6 @@ public class DeltaManager extends Cluste * @return The session */ public Session createSession(String sessionId, boolean distribute) { - if ((maxActiveSessions >= 0) && (sessions.size() >= maxActiveSessions)) { - rejectedSessions++; - throw new IllegalStateException(sm.getString("deltaManager.createSession.ise")); - } DeltaSession session = (DeltaSession) super.createSession(sessionId) ; if (distribute) { sendCreateSession(session.getId(), session); @@ -547,7 +509,6 @@ public class DeltaManager extends Cluste if (log.isDebugEnabled()) log.debug(sm.getString("deltaManager.createSession.newSession",session.getId(), new Integer(sessions.size()))); return (session); - } /** Modified: tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties?rev=980411&r1=980410&r2=980411&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties Thu Jul 29 11:49:47 2010 @@ -13,7 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -deltaManager.createSession.ise=createSession: Too many active sessions deltaManager.createSession.newSession=Created a DeltaSession with Id [{0}] Total count={1} deltaManager.createMessage.access=Manager [{0}]: create session message [{1}] access. deltaManager.createMessage.accessChangePrimary=Manager [{0}]: create session message [{1}] access to change primary. Modified: tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties?rev=980411&r1=980410&r2=980411&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties (original) +++ tomcat/trunk/java/org/apache/catalina/ha/session/LocalStrings_es.properties Thu Jul 29 11:49:47 2010 @@ -13,7 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -deltaManager.createSession.ise = createSession\: Demasiadas sesiones activas deltaManager.createSession.newSession = Creada una DeltaSession con Id [{0}] Total contador\={1} deltaManager.createMessage.access = Gestor [{0}]\: creado mensaje de sesi\u00F3n [{1}] acceso. deltaManager.createMessage.accessChangePrimary = Gestor [{0}]\: creado mensaje de sesi\u00F3n [{1}] acceso para cambiar el primario. Modified: tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties?rev=980411&r1=980410&r2=980411&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties Thu Jul 29 11:49:47 2010 @@ -28,12 +28,12 @@ JDBCStore.checkConnectionDBReOpenFail=Th JDBCStore.checkConnectionSQLException=A SQL exception occurred {0} JDBCStore.checkConnectionClassNotFoundException=JDBC driver class not found {0} managerBase.complete=Seeding of random number generator has been completed +managerBase.createSession.ise=createSession: Too many active sessions managerBase.getting=Getting message digest component for algorithm {0} managerBase.gotten=Completed getting message digest component managerBase.random=Exception initializing random number generator of class {0} managerBase.seeding=Seeding random number generator class {0} serverSession.value.iae=null value -standardManager.createSession.ise=createSession: Too many active sessions standardManager.expireException=processsExpire: Exception during session expiration standardManager.loading=Loading persisted sessions from {0} standardManager.loading.cnfe=ClassNotFoundException while loading persisted sessions: {0} Modified: tomcat/trunk/java/org/apache/catalina/session/LocalStrings_es.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/LocalStrings_es.properties?rev=980411&r1=980410&r2=980411&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/session/LocalStrings_es.properties (original) +++ tomcat/trunk/java/org/apache/catalina/session/LocalStrings_es.properties Thu Jul 29 11:49:47 2010 @@ -27,12 +27,12 @@ JDBCStore.checkConnectionDBReOpenFail = JDBCStore.checkConnectionSQLException = Ha tenido lugar una excepci\u00F3n SQL {0} JDBCStore.checkConnectionClassNotFoundException = No se ha hallado la clase del manejador (driver) JDBC {0} managerBase.complete = Se ha completado la siembra del generador de n\u00FAmeros aleatorios +managerBase.createSession.ise = createSession\: Demasiadas sesiones activas managerBase.getting = Obteniendo mensaje de componente de resumen (digest) para algoritmo {0} managerBase.gotten = Completada la obtenci\u00F3n de mensaje de componente de resumen (digest) managerBase.random = Excepci\u00F3n inicializando generador de n\u00FAmeros aleatorios de clase {0} managerBase.seeding = Sembrando clase de generador de n\u00FAmeros aleatorios {0} serverSession.value.iae = valor nulo -standardManager.createSession.ise = createSession\: Demasiadas sesiones activas standardManager.expireException = processsExpire\: Excepci\u00F3n durante la expiraci\u00F3n de sesi\u00F3n standardManager.loading = Cargando sesiones persistidas desde {0} standardManager.loading.cnfe = ClassNotFoundException al cargar sesiones persistidas\: {0} Modified: tomcat/trunk/java/org/apache/catalina/session/LocalStrings_fr.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/LocalStrings_fr.properties?rev=980411&r1=980410&r2=980411&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/session/LocalStrings_fr.properties (original) +++ tomcat/trunk/java/org/apache/catalina/session/LocalStrings_fr.properties Thu Jul 29 11:49:47 2010 @@ -27,12 +27,12 @@ JDBCStore.checkConnectionDBReOpenFail=La JDBCStore.checkConnectionSQLException=Une exception SQL s''est produite {0} JDBCStore.checkConnectionClassNotFoundException=La classe du driver JDBC n''a pas \u00e9t\u00e9 trouv\u00e9e {0} managerBase.complete=L''alimentation du g\u00e9n\u00e9rateur de nombre al\u00e9atoire est termin\u00e9 +managerBase.createSession.ise="createSession": Trop de sessions actives managerBase.getting=Prise du composant d''algorithme empreinte de message (message digest) pour l''algorithme {0} managerBase.gotten=Prise du composant d''algorithme empreinte de message (message digest) termin\u00e9e managerBase.random=Exception durant l''initialisation de la classe du g\u00e9n\u00e9rateur de nombre al\u00e9atoire {0} managerBase.seeding=Alimentation de la classe du g\u00e9n\u00e9rateur de nombre al\u00e9atoire {0} serverSession.value.iae=valeur nulle -standardManager.createSession.ise="createSession": Trop de sessions actives standardManager.expireException="processsExpire": Exception lors de l''expiration de la session standardManager.loading=Chargement des sessions qui ont persist\u00e9 depuis {0} standardManager.loading.cnfe="ClassNotFoundException" lors du chargement de sessions persistantes: {0} Modified: tomcat/trunk/java/org/apache/catalina/session/LocalStrings_ja.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/LocalStrings_ja.properties?rev=980411&r1=980410&r2=980411&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/session/LocalStrings_ja.properties (original) +++ tomcat/trunk/java/org/apache/catalina/session/LocalStrings_ja.properties Thu Jul 29 11:49:47 2010 @@ -28,12 +28,12 @@ JDBCStore.checkConnectionDBReOpenFail=\u JDBCStore.checkConnectionSQLException=SQL\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f {0} JDBCStore.checkConnectionClassNotFoundException=JDBC\u30c9\u30e9\u30a4\u30d0\u30af\u30e9\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093 {0} managerBase.complete=\u4e71\u6570\u767a\u751f\u5668\u306e\u30b7\u30fc\u30c9\u306e\u751f\u6210\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f +managerBase.createSession.ise=createSession: \u30a2\u30af\u30c6\u30a3\u30d6\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u591a\u3059\u304e\u307e\u3059 managerBase.getting=\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0 {0} \u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u30c0\u30a4\u30b8\u30a7\u30b9\u30c8\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u53d6\u5f97\u3057\u307e\u3059 managerBase.gotten=\u30e1\u30c3\u30bb\u30fc\u30b8\u30c0\u30a4\u30b8\u30a7\u30b9\u30c8\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u53d6\u5f97\u3092\u5b8c\u4e86\u3057\u307e\u3057\u305f managerBase.random=\u30af\u30e9\u30b9 {0} \u306e\u4e71\u6570\u767a\u751f\u5668\u306e\u521d\u671f\u5316\u306e\u4f8b\u5916\u3067\u3059 managerBase.seeding=\u4e71\u6570\u767a\u751f\u5668\u30af\u30e9\u30b9 {0} \u306e\u30b7\u30fc\u30c9\u3092\u751f\u6210\u3057\u3066\u3044\u307e\u3059 serverSession.value.iae=null\u5024\u3067\u3059 -standardManager.createSession.ise=createSession: \u30a2\u30af\u30c6\u30a3\u30d6\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u591a\u3059\u304e\u307e\u3059 standardManager.expireException=processsExpire: \u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u7d42\u4e86\u51e6\u7406\u4e2d\u306e\u4f8b\u5916\u3067\u3059 standardManager.loading={0} \u304b\u3089\u6301\u7d9a\u3055\u308c\u305f\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u30ed\u30fc\u30c9\u3057\u3066\u3044\u307e\u3059 standardManager.loading.cnfe=\u6301\u7d9a\u3055\u308c\u305f\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u30ed\u30fc\u30c9\u4e2d\u306bClassNotFoundException\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0} Modified: tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java?rev=980411&r1=980410&r2=980411&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java Thu Jul 29 11:49:47 2010 @@ -185,6 +185,16 @@ public abstract class ManagerBase extend private final Object maxActiveUpdateLock = new Object(); + /** + * The maximum number of active Sessions allowed, or -1 for no limit. + */ + protected int maxActiveSessions = -1; + + /** + * Number of session creations that failed due to maxActiveSessions. + */ + protected int rejectedSessions = 0; + // number of duplicated session ids - anything >0 means we have problems protected volatile int duplicates=0; @@ -617,6 +627,15 @@ public abstract class ManagerBase extend /** + * Number of session creations that failed due to maxActiveSessions + * + * @return The count + */ + public int getRejectedSessions() { + return rejectedSessions; + } + + /** * Gets the number of sessions that have expired. * * @return Number of sessions that have expired @@ -778,6 +797,13 @@ public abstract class ManagerBase extend */ public Session createSession(String sessionId) { + if ((maxActiveSessions >= 0) && + (sessions.size() >= maxActiveSessions)) { + rejectedSessions++; + throw new IllegalStateException( + sm.getString("managerBase.createSession.ise")); + } + // Recycle or create a Session instance Session session = createEmptySession(); @@ -1053,6 +1079,34 @@ public abstract class ManagerBase extend /** + * Return the maximum number of active Sessions allowed, or -1 for + * no limit. + */ + public int getMaxActiveSessions() { + + return (this.maxActiveSessions); + + } + + + /** + * Set the maximum number of active Sessions allowed, or -1 for + * no limit. + * + * @param max The new maximum number of sessions + */ + public void setMaxActiveSessions(int max) { + + int oldMaxActiveSessions = this.maxActiveSessions; + this.maxActiveSessions = max; + support.firePropertyChange("maxActiveSessions", + new Integer(oldMaxActiveSessions), + new Integer(this.maxActiveSessions)); + + } + + + /** * Gets the longest time (in seconds) that an expired session had been * alive. * Modified: tomcat/trunk/java/org/apache/catalina/session/PersistentManagerBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/PersistentManagerBase.java?rev=980411&r1=980410&r2=980411&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/session/PersistentManagerBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/session/PersistentManagerBase.java Thu Jul 29 11:49:47 2010 @@ -139,12 +139,6 @@ public abstract class PersistentManagerB /** - * The maximum number of active Sessions allowed, or -1 for no limit. - */ - protected int maxActiveSessions = -1; - - - /** * The descriptive name of this Manager implementation (for logging). */ private static String name = "PersistentManagerBase"; @@ -186,12 +180,6 @@ public abstract class PersistentManagerB /** - * Number of session creations that failed due to maxActiveSessions. - */ - protected int rejectedSessions = 0; - - - /** * Processing time during session expiration and passivation. */ protected long processingTime = 0; @@ -372,44 +360,6 @@ public abstract class PersistentManagerB /** - * Return the maximum number of active Sessions allowed, or -1 for - * no limit. - */ - public int getMaxActiveSessions() { - - return (this.maxActiveSessions); - - } - - - /** - * Set the maximum number of active Sessions allowed, or -1 for - * no limit. - * - * @param max The new maximum number of sessions - */ - public void setMaxActiveSessions(int max) { - - int oldMaxActiveSessions = this.maxActiveSessions; - this.maxActiveSessions = max; - support.firePropertyChange("maxActiveSessions", - new Integer(oldMaxActiveSessions), - new Integer(this.maxActiveSessions)); - - } - - - /** - * Number of session creations that failed due to maxActiveSessions. - * - * @return The count - */ - public int getRejectedSessions() { - return rejectedSessions; - } - - - /** * Return the descriptive short name of this Manager implementation. */ @Override Modified: tomcat/trunk/java/org/apache/catalina/session/StandardManager.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/StandardManager.java?rev=980411&r1=980410&r2=980411&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/session/StandardManager.java (original) +++ tomcat/trunk/java/org/apache/catalina/session/StandardManager.java Thu Jul 29 11:49:47 2010 @@ -107,12 +107,6 @@ public class StandardManager extends Man /** - * The maximum number of active Sessions allowed, or -1 for no limit. - */ - protected int maxActiveSessions = -1; - - - /** * The descriptive name of this Manager implementation (for logging). */ protected static String name = "StandardManager"; @@ -129,12 +123,6 @@ public class StandardManager extends Man protected String pathname = "SESSIONS.ser"; - /** - * Number of session creations that failed due to maxActiveSessions. - */ - protected int rejectedSessions = 0; - - // ------------------------------------------------------------- Properties @@ -179,43 +167,6 @@ public class StandardManager extends Man /** - * Return the maximum number of active Sessions allowed, or -1 for - * no limit. - */ - public int getMaxActiveSessions() { - - return (this.maxActiveSessions); - - } - - - /** Number of session creations that failed due to maxActiveSessions - * - * @return The count - */ - public int getRejectedSessions() { - return rejectedSessions; - } - - - /** - * Set the maximum number of active Sessions allowed, or -1 for - * no limit. - * - * @param max The new maximum number of sessions - */ - public void setMaxActiveSessions(int max) { - - int oldMaxActiveSessions = this.maxActiveSessions; - this.maxActiveSessions = max; - support.firePropertyChange("maxActiveSessions", - new Integer(oldMaxActiveSessions), - new Integer(this.maxActiveSessions)); - - } - - - /** * Return the descriptive short name of this Manager implementation. */ @Override @@ -254,31 +205,6 @@ public class StandardManager extends Man // --------------------------------------------------------- Public Methods /** - * Construct and return a new session object, based on the default - * settings specified by this Manager's properties. The session - * id will be assigned by this method, and available via the getId() - * method of the returned session. If a new session cannot be created - * for any reason, return <code>null</code>. - * - * @exception IllegalStateException if a new session cannot be - * instantiated for any reason - */ - @Override - public Session createSession(String sessionId) { - - if ((maxActiveSessions >= 0) && - (sessions.size() >= maxActiveSessions)) { - rejectedSessions++; - throw new IllegalStateException - (sm.getString("standardManager.createSession.ise")); - } - - return (super.createSession(sessionId)); - - } - - - /** * Load any currently active sessions that were previously unloaded * to the appropriate persistence mechanism, if any. If persistence is not * supported, this method returns without doing anything. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org