Java Mailing List Archive

http://www.junlu.com/

Home » dev.tomcat »

svn commit: r980411 - in /tomcat/trunk/java/org/apache/catalina: ha/session/
session/

Mark Thomas

2010-07-29


Author LoginPost Reply
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
@@(protected)
   */
  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;
@@(protected)
 
  // ------------------------------------------------------------------ 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 ;
@@(protected)
  }
 
  /**
-   * Number of session creations that failed due to maxActiveSessions
-   *
-   * @return The count
-   */
-   public int getRejectedSessions() {
-     return rejectedSessions;
-   }
-
-   /**
   * @return Returns the counterNoStateTransfered.
   */
  public int getCounterNoStateTransfered() {
@@(protected)
  }
 
  /**
-   * 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.
   */
@@(protected)
   * @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);
@@(protected)
     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
@@(protected) @@
# 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
@@(protected) @@
# 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
@@(protected)
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
@@(protected) =
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
@@(protected)
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
@@(protected)
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
@@(protected)

  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;

@@(protected)


  /**
+   * 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
@@(protected)
   */
  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();

@@(protected)


  /**
+   * 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
@@(protected)


  /**
-   * 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";
@@(protected)


  /**
-   * Number of session creations that failed due to maxActiveSessions.
-   */
-   protected int rejectedSessions = 0;
-
-
-   /**
   * Processing time during session expiration and passivation.
   */
  protected long processingTime = 0;
@@(protected)


  /**
-   * 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
@@(protected)


  /**
-   * 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";
@@(protected)
  protected String pathname = "SESSIONS.ser";


-   /**
-   * Number of session creations that failed due to maxActiveSessions.
-   */
-   protected int rejectedSessions = 0;
-
-
  // ------------------------------------------------------------- Properties


@@(protected)


  /**
-   * 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
@@(protected)
  // --------------------------------------------------------- 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-unsubscribe@(protected)
For additional commands, e-mail: dev-help@(protected)

©2008 junlu.com - Jax Systems, LLC, U.S.A.