[jboss-cvs] JBossAS SVN: r108926 - trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/sso.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Oct 26 16:58:26 EDT 2010


Author: smarlow at redhat.com
Date: 2010-10-26 16:58:25 -0400 (Tue, 26 Oct 2010)
New Revision: 108926

Modified:
   trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/sso/ClusteredSingleSignOn.java
Log:
JBAS-8556 keep these fields out of thread cache memory

Modified: trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/sso/ClusteredSingleSignOn.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/sso/ClusteredSingleSignOn.java	2010-10-26 18:07:35 UTC (rev 108925)
+++ trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/sso/ClusteredSingleSignOn.java	2010-10-26 20:58:25 UTC (rev 108926)
@@ -101,41 +101,41 @@
     * {@link SSOClusterManager SSOClusterManager} that will be used
     * to manage SSOs across a cluster.
     */
-   private String clusterManagerClass;
+   private volatile String clusterManagerClass;
 
    /**
     * Object used to provide cross-cluster support for single sign on.
     */
-   private SSOClusterManager ssoClusterManager = null;
+   private volatile SSOClusterManager ssoClusterManager = null;
 
    /**
     * Object name of the tree cache used by SSOClusterManager.
     * Only relevant if the SSOClusterManager implementation is
     * TreeCacheSSOClusterManager.
     */
-   private String cacheConfigName = DEFAULT_CACHE_NAME;
+   private volatile String cacheConfigName = DEFAULT_CACHE_NAME;
 
    /**
     * Object name of the thread pool used by SSOClusterManager.
     * Only relevant if the SSOClusterManager implementation is
     * TreeCacheSSOClusterManager.
     */
-   private String threadPoolName = "jboss.system:service=ThreadPool";
+   private volatile String threadPoolName = "jboss.system:service=ThreadPool";
 
    /** Currently started Managers that have associated as session with an SSO */
    private Set activeManagers = Collections.synchronizedSet(new HashSet());
    
    /** Max number of ms an SSO with no active sessions will be usable by a request */
-   private int maxEmptyLife = DEFAULT_MAX_EMPTY_LIFE * 1000;
+   private volatile int maxEmptyLife = DEFAULT_MAX_EMPTY_LIFE * 1000;
    
    /** 
     * Minimum number of ms since the last processExpires() run 
     * before a new run is allowed.
     */
-   private int processExpiresInterval = DEFAULT_PROCESS_EXPIRES_INTERVAL * 1000;
+   private volatile int processExpiresInterval = DEFAULT_PROCESS_EXPIRES_INTERVAL * 1000;
    
    /** Timestamp of the last processExpires() run */
-   private long lastProcessExpires = System.currentTimeMillis();
+   private volatile long lastProcessExpires = System.currentTimeMillis();
    
    /** 
     * Map<String, Long> containing the ids of SSOs with no active sessions
@@ -144,7 +144,7 @@
    private Map<String, Long> emptySSOs = new ConcurrentHashMap<String, Long>();
    
    /** Used for sync locking of processExpires runs */
-   private final Object mutex = new Object();
+   private final Object MUTEX = new Object();
 
    // ------------------------------------------------------------- Properties
 
@@ -1327,7 +1327,7 @@
    private void processExpires()
    {
       long now = 0L;
-      synchronized (mutex)
+      synchronized (MUTEX)
       {
          now = System.currentTimeMillis();
       



More information about the jboss-cvs-commits mailing list