[jbosscache-commits] JBoss Cache SVN: r5769 - in core/trunk/src/main/java/org/jboss/cache: commands/write and 3 other directories.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Wed Apr 30 08:00:36 EDT 2008


Author: manik.surtani at jboss.com
Date: 2008-04-30 08:00:36 -0400 (Wed, 30 Apr 2008)
New Revision: 5769

Modified:
   core/trunk/src/main/java/org/jboss/cache/InvocationContext.java
   core/trunk/src/main/java/org/jboss/cache/commands/write/PutKeyValueCommand.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/ActivationInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/BaseRpcInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/CacheLoaderInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/CacheStoreInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/CallInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/DataGravitatorInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/Interceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/InvalidationInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticCreateIfNotExistsInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticLockingInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticNodeInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticReplicationInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticValidatorInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/PassivationInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/PessimisticLockInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/ReplicationInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/TxInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/base/CommandInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/lock/LockManager.java
Log:
Refactoring

Modified: core/trunk/src/main/java/org/jboss/cache/InvocationContext.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/InvocationContext.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/InvocationContext.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -28,6 +28,7 @@
 public class InvocationContext implements Cloneable
 {
    private static final Log log = LogFactory.getLog(InvocationContext.class);
+   private static final boolean trace = log.isTraceEnabled();
 
    private Transaction transaction;
    private GlobalTransaction globalTransaction;
@@ -196,7 +197,7 @@
       if (!isValidTransaction())
       { // no TX
          List<NodeLock> locks = getInvocationLocksAcquired();
-         if (log.isTraceEnabled())
+         if (trace)
             log.trace("Attempting to release locks on current thread.  Locks for the invocation is " + locks);
 
          if (locks != null && locks.size() > 0)
@@ -208,7 +209,7 @@
                for (int i = locks.size() - 1; i > -1; i--)
                {
                   NodeLock nl = locks.get(i);
-                  if (log.isTraceEnabled()) log.trace("releasing lock for " + nl.getFqn() + ": " + nl);
+                  if (trace) log.trace("releasing lock for " + nl.getFqn() + ": " + nl);
                   nl.release(currentThread);
                }
             }
@@ -461,7 +462,7 @@
       boolean shouldRethtrow = optionOverride == null || !optionOverride.isFailSilently();
       if (!shouldRethtrow)
       {
-         if (log.isTraceEnabled())
+         if (trace)
             log.trace("There was a problem handling this request, but failSilently was set, so suppressing exception", e);
          return;
       }

Modified: core/trunk/src/main/java/org/jboss/cache/commands/write/PutKeyValueCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/write/PutKeyValueCommand.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/commands/write/PutKeyValueCommand.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -29,7 +29,7 @@
    public static final int PUT_FOR_EXT_READ_VERSIONED_METHOD_ID = 46;
 
    private static final Log log = LogFactory.getLog(PutKeyValueCommand.class);
-   private static boolean trace;
+   private static boolean trace = log.isTraceEnabled();
 
    /* parametres */
    private Object key;
@@ -40,12 +40,10 @@
 
    public PutKeyValueCommand()
    {
-      trace = log.isTraceEnabled();
    }
 
    public PutKeyValueCommand(GlobalTransaction gtx, Fqn fqn, Object key, Object value, boolean createUndoOps, boolean putForExternalRead)
    {
-      this();
       this.globalTransaction = gtx;
       this.fqn = fqn;
       this.key = key;

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/ActivationInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/ActivationInterceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/ActivationInterceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -237,10 +237,7 @@
    {
       notifier.notifyNodeActivated(fqn, true, Collections.emptyMap(), ctx);
       loader.remove(fqn);
-      if (config.getExposeManagementStatistics() && getStatisticsEnabled())
-      {
-         activations++;
-      }
+      if (getStatisticsEnabled()) activations++;
    }
 
    /**

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/BaseRpcInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/BaseRpcInterceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/BaseRpcInterceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -9,11 +9,11 @@
 import org.jboss.cache.cluster.ReplicationQueue;
 import org.jboss.cache.commands.ReplicableCommand;
 import org.jboss.cache.commands.VisitableCommand;
-import org.jboss.cache.config.Configuration;
 import org.jboss.cache.config.Configuration.CacheMode;
 import org.jboss.cache.config.Option;
 import org.jboss.cache.factories.CommandsFactory;
 import org.jboss.cache.factories.annotations.Inject;
+import org.jboss.cache.factories.annotations.Start;
 import org.jboss.cache.interceptors.base.CommandInterceptor;
 import org.jboss.cache.transaction.GlobalTransaction;
 import org.jboss.cache.transaction.TransactionEntry;
@@ -39,24 +39,26 @@
 
    protected RPCManager rpcManager;
    protected boolean defaultSynchronous;
-   protected Configuration config;
 
    @Inject
    public void injectComponents(RPCManager rpcManager, BuddyManager buddyManager, ReplicationQueue replicationQueue,
-                                Configuration config, TransactionTable txTable, CommandsFactory commandsFactory)
+                                TransactionTable txTable, CommandsFactory commandsFactory)
    {
       this.rpcManager = rpcManager;
       this.replicationQueue = replicationQueue;
       this.buddyManager = buddyManager;
-//      usingBuddyReplication = buddyManager != null && buddyManager.isEnabled();
-      usingBuddyReplication = config.getBuddyReplicationConfig() != null && config.getBuddyReplicationConfig().isEnabled();
-      CacheMode mode = config.getCacheMode();
-      defaultSynchronous = (mode == CacheMode.REPL_SYNC || mode == CacheMode.INVALIDATION_SYNC);
       this.txTable = txTable;
-      this.config = config;
       this.commandsFactory = commandsFactory;
    }
 
+   @Start
+   private void init()
+   {
+      usingBuddyReplication = configuration.getBuddyReplicationConfig() != null && configuration.getBuddyReplicationConfig().isEnabled();
+      CacheMode mode = configuration.getCacheMode();
+      defaultSynchronous = (mode == CacheMode.REPL_SYNC || mode == CacheMode.INVALIDATION_SYNC);
+   }
+
    /**
     * Checks whether any of the responses are exceptions. If yes, re-throws
     * them (as exceptions or runtime exceptions).
@@ -90,7 +92,7 @@
 
    protected void replicateCall(InvocationContext ctx, List<Address> recipients, ReplicableCommand c, boolean sync, Option o, boolean useOutOfBandMessage) throws Throwable
    {
-      long syncReplTimeout = config.getSyncReplTimeout();
+      long syncReplTimeout = configuration.getSyncReplTimeout();
 
       // test for option overrides
       if (o != null)

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/CacheLoaderInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/CacheLoaderInterceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/CacheLoaderInterceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -53,7 +53,6 @@
    private LockManager lockManager;
 
    protected TransactionTable txTable = null;
-   protected Configuration config;
    protected CacheLoader loader;
    protected DataContainer dataContainer;
    protected Notifier notifier;
@@ -71,14 +70,13 @@
 
    @Inject
    protected void injectDependencies(TransactionTable txTable, CacheLoaderManager clm, Configuration configuration,
-                                     DataContainer dataContainer, Configuration config, LockManager lockManager, Notifier notifier)
+                                     DataContainer dataContainer, LockManager lockManager, Notifier notifier)
    {
       this.txTable = txTable;
       this.clm = clm;
       CacheMode mode = configuration.getCacheMode();
       usingOptimisticInvalidation = configuration.isNodeLockingOptimistic() && mode.isInvalidation();
       this.dataContainer = dataContainer;
-      this.config = config;
       this.lockManager = lockManager;
       this.notifier = notifier;
    }
@@ -208,7 +206,7 @@
    @Override
    public Object visitRemoveNodeCommand(InvocationContext ctx, RemoveNodeCommand command) throws Throwable
    {
-      if (config.isNodeLockingOptimistic() && command.getFqn() != null)
+      if (configuration.isNodeLockingOptimistic() && command.getFqn() != null)
       {
          loadIfNeeded(ctx, command.getFqn(), null, false, false, false, txTable.get(ctx.getGlobalTransaction()), false, false, false);
       }
@@ -367,7 +365,7 @@
       }
 
       // check this first!!!
-      if (!n.isValid() && config.isNodeLockingOptimistic())
+      if (!n.isValid() && configuration.isNodeLockingOptimistic())
       {
          // attempt to load again; this only happens if we have tombstones lying around, or we are using invalidation.
          if (trace) log.trace("loading again from cache loader since in-memory node is marked as invalid");
@@ -425,7 +423,7 @@
 
    protected void lock(Fqn fqn, NodeLock.LockType lockType, boolean recursive, InvocationContext ctx) throws Throwable
    {
-      if (config.isNodeLockingOptimistic()) return;
+      if (configuration.isNodeLockingOptimistic()) return;
       lockManager.acquireLocksWithTimeout(ctx, fqn, lockType, false, false, false, false, null, false);
       if (recursive)
       {
@@ -536,7 +534,7 @@
       boolean nodeExists = (nodeData != null);
       if (trace) log.trace("nodeExists " + nodeExists);
 
-      if (config.getExposeManagementStatistics() && getStatisticsEnabled())
+      if (getStatisticsEnabled())
       {
          if (nodeExists)
          {

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/CacheStoreInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/CacheStoreInterceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/CacheStoreInterceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -20,7 +20,6 @@
 import org.jboss.cache.commands.write.RemoveKeyCommand;
 import org.jboss.cache.commands.write.RemoveNodeCommand;
 import org.jboss.cache.config.CacheLoaderConfig;
-import org.jboss.cache.config.Configuration;
 import org.jboss.cache.factories.annotations.Inject;
 import org.jboss.cache.factories.annotations.Start;
 import org.jboss.cache.interceptors.base.SkipCheckChainedInterceptor;
@@ -56,7 +55,6 @@
    private Map<GlobalTransaction, Set<Fqn>> preparingTxs = new ConcurrentHashMap<GlobalTransaction, Set<Fqn>>();
    private long cacheStores = 0;
    private CacheLoader loader;
-   private Configuration configuration;
    private DataContainer dataContainer;
    private CacheLoaderManager loaderManager;
 
@@ -67,14 +65,13 @@
    }
 
    @Inject
-   protected void init(DataContainer dataContainer, CacheLoaderManager loaderManager, TransactionManager txManager, TransactionTable txTable, CacheLoaderConfig clConfig, Configuration configuration)
+   protected void init(DataContainer dataContainer, CacheLoaderManager loaderManager, TransactionManager txManager, TransactionTable txTable, CacheLoaderConfig clConfig)
    {
       // never inject a CacheLoader at this stage - only a CacheLoaderManager, since the CacheLoaderManager only creates a CacheLoader instance when it @Starts.
       this.loaderManager = loaderManager;
       this.loaderConfig = clConfig;
       txMgr = txManager;
       this.txTable = txTable;
-      this.configuration = configuration;
       this.dataContainer = dataContainer;
    }
 
@@ -125,7 +122,7 @@
                preparingTxs.remove(gtx);
                throw t;
             }
-            if (configuration.getExposeManagementStatistics() && getStatisticsEnabled())
+            if (getStatisticsEnabled())
             {
                Integer puts = (Integer) txStores.get(gtx);
                if (puts != null)
@@ -166,10 +163,7 @@
                preparingTxs.remove(gtx);
                loader.rollback(gtx);
             }
-            if (configuration.getExposeManagementStatistics() && getStatisticsEnabled())
-            {
-               txStores.remove(gtx);
-            }
+            if (getStatisticsEnabled()) txStores.remove(gtx);
          }
          else
          {
@@ -276,10 +270,8 @@
       else
       {
          loader.put(command.getFqn(), command.getData());
-         if (configuration.getExposeManagementStatistics() && getStatisticsEnabled())
-         {
-            cacheStores++;
-         }
+         if (getStatisticsEnabled()) cacheStores++;
+
          return returnValue;
       }
    }
@@ -294,10 +286,8 @@
          return returnValue;
       }
       returnValue = loader.put(command.getFqn(), command.getKey(), command.getValue());
-      if (configuration.getExposeManagementStatistics() && getStatisticsEnabled())
-      {
-         cacheStores++;
-      }
+      if (getStatisticsEnabled()) cacheStores++;
+
       return returnValue;
    }
 
@@ -372,8 +362,7 @@
          return;
       }
       if (trace) log.trace("Cache loader modification list: " + modifications);
-      boolean statsEnabled = configuration.getExposeManagementStatistics() && getStatisticsEnabled();
-      StoreModificationsBuilder modsBuilder = new StoreModificationsBuilder(statsEnabled);
+      StoreModificationsBuilder modsBuilder = new StoreModificationsBuilder(getStatisticsEnabled());
       for (ReversibleCommand cacheCommand : modifications)
       {
          cacheCommand.acceptVisitor(null, modsBuilder);
@@ -387,7 +376,7 @@
          loader.prepare(gtx, modsBuilder.modifications, onePhase);
 
          preparingTxs.put(gtx, modsBuilder.affectedFqns);
-         if (configuration.getExposeManagementStatistics() && getStatisticsEnabled() && modsBuilder.putCount > 0)
+         if (getStatisticsEnabled() && modsBuilder.putCount > 0)
          {
             txStores.put(gtx, modsBuilder.putCount);
          }

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/CallInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/CallInterceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/CallInterceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -14,7 +14,6 @@
 import org.jboss.cache.commands.write.RemoveDataCommand;
 import org.jboss.cache.commands.write.RemoveKeyCommand;
 import org.jboss.cache.commands.write.RemoveNodeCommand;
-import org.jboss.cache.config.Configuration;
 import org.jboss.cache.config.Option;
 import org.jboss.cache.factories.annotations.Inject;
 import org.jboss.cache.factories.annotations.Start;
@@ -37,19 +36,13 @@
  */
 public class CallInterceptor extends CommandInterceptor
 {
-
-   //   private CacheLoaderManager cacheLoaderManager;
    private TransactionTable transactionTable;
-   private Configuration configuration;
    private boolean cacheLoadingEnabled;
 
    @Inject
-   public void injectDependencies(TransactionTable transactionTable,
-                                  Configuration configuration)
+   public void injectDependencies(TransactionTable transactionTable)
    {
-//      this.cacheLoaderManager = cacheLoaderManager;
       this.transactionTable = transactionTable;
-      this.configuration = configuration;
    }
 
    @Start

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/DataGravitatorInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/DataGravitatorInterceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/DataGravitatorInterceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -74,24 +74,22 @@
     */
    private Map<GlobalTransaction, List<ReplicableCommand>> cleanupCommands = new ConcurrentHashMap<GlobalTransaction, List<ReplicableCommand>>();
    private DataContainer dataContainer;
-   private Configuration config;
    private CommandsFactory commandsFactory;
    private CacheSPI cacheSPI;
 
    @Inject
-   public void injectComponents(BuddyManager buddyManager, Configuration config, DataContainer dataContainer, CommandsFactory commandsFactory, CacheSPI cacheSPI)
+   public void injectComponents(BuddyManager buddyManager, DataContainer dataContainer, CommandsFactory commandsFactory, CacheSPI cacheSPI)
    {
       this.buddyManager = buddyManager;
       this.dataContainer = dataContainer;
       this.commandsFactory = commandsFactory;
       this.cacheSPI = cacheSPI;
-      this.config = config;
    }
 
    @Start
    public void startInterceptor()
    {
-      syncCommunications = config.getCacheMode() == Configuration.CacheMode.REPL_SYNC || config.getCacheMode() == Configuration.CacheMode.INVALIDATION_SYNC;
+      syncCommunications = configuration.getCacheMode() == Configuration.CacheMode.REPL_SYNC || configuration.getCacheMode() == Configuration.CacheMode.INVALIDATION_SYNC;
    }
 
    @Override
@@ -341,7 +339,7 @@
                break;
             }
          }
-         else if (!config.isUseRegionBasedMarshalling())
+         else if (!configuration.isUseRegionBasedMarshalling())
          {
             // Null is OK if we are using region based marshalling; it
             // is what is returned if a region is inactive. Otherwise

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/Interceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/Interceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/Interceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -27,14 +27,10 @@
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.VisitableCommand;
-import org.jboss.cache.config.Configuration;
 import org.jboss.cache.factories.annotations.Inject;
 import org.jboss.cache.factories.annotations.Start;
 import org.jboss.cache.interceptors.base.CommandInterceptor;
 
-import java.util.Collections;
-import java.util.Map;
-
 /**
  * Class representing an interceptor.
  *
@@ -47,8 +43,6 @@
 {
    protected CacheSPI<?, ?> cache;
    protected Log log = null;
-   protected Configuration configuration;
-   private boolean statsEnabled = false;
    protected boolean trace;
 
    public void setCache(CacheSPI cache)
@@ -59,15 +53,13 @@
    @Start
    private void start()
    {
-      setStatisticsEnabled(configuration.getExposeManagementStatistics());
       // for backward compatibility, this must only be done when the cache starts.
       setCache(cache);
    }
 
    @Inject
-   private void injectDependencies(CacheSPI cache, Configuration configuration)
+   private void injectDependencies(CacheSPI cache)
    {
-      this.configuration = configuration;
       this.cache = cache;
    }
 
@@ -83,6 +75,7 @@
 
    /**
     * Forwards the call to the nextInterceptor interceptor in the chain.
+    * This is here for backward compatibility.
     */
    public Object nextInterceptor(InvocationContext ctx) throws Throwable
    {
@@ -90,37 +83,6 @@
    }
 
    @Override
-   public boolean getStatisticsEnabled()
-   {
-      return statsEnabled;
-   }
-
-   @Override
-   public void setStatisticsEnabled(boolean enabled)
-   {
-      statsEnabled = enabled;
-   }
-
-   /**
-    * This implementation returns an empty Map.  If individual Interceptors wish to expose statistics, they can override this
-    * method.
-    */
-   @Override
-   public Map<String, Object> dumpStatistics()
-   {
-      return Collections.emptyMap();
-   }
-
-   /**
-    * This implementation is a no-op.  If individual Interceptors wish to expose statistics, they can override this
-    * method.
-    */
-   @Override
-   public void resetStatistics()
-   {
-   }
-
-   @Override
    public String toString()
    {
       return getClass().getName()

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/InvalidationInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/InvalidationInterceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/InvalidationInterceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -22,10 +22,10 @@
 import org.jboss.cache.commands.write.RemoveDataCommand;
 import org.jboss.cache.commands.write.RemoveKeyCommand;
 import org.jboss.cache.commands.write.RemoveNodeCommand;
-import org.jboss.cache.config.Configuration;
 import org.jboss.cache.config.Option;
 import org.jboss.cache.factories.CommandsFactory;
 import org.jboss.cache.factories.annotations.Inject;
+import org.jboss.cache.factories.annotations.Start;
 import org.jboss.cache.optimistic.DataVersion;
 import org.jboss.cache.optimistic.DefaultDataVersion;
 import org.jboss.cache.optimistic.TransactionWorkspace;
@@ -65,13 +65,18 @@
    private CommandsFactory commandsFactory;
 
    @Inject
-   public void injectDependencies(Configuration config, CommandsFactory commandsFactory)
+   public void injectDependencies(CommandsFactory commandsFactory)
    {
-      optimistic = config.isNodeLockingOptimistic();
-      if (optimistic) txMods = new ConcurrentHashMap<GlobalTransaction, List<ReversibleCommand>>();
       this.commandsFactory = commandsFactory;
    }
 
+   @Start
+   private void init()
+   {
+      optimistic = configuration.isNodeLockingOptimistic();
+      if (optimistic) txMods = new ConcurrentHashMap<GlobalTransaction, List<ReversibleCommand>>();
+   }
+
    private boolean skipInvalidation(InvocationContext ctx)
    {
       Option optionOverride = ctx.getOptionOverrides();
@@ -242,7 +247,7 @@
          {
             try
             {
-               TransactionWorkspace workspace = config.isNodeLockingOptimistic() ? getWorkspace(gtx) : null;
+               TransactionWorkspace workspace = configuration.isNodeLockingOptimistic() ? getWorkspace(gtx) : null;
                for (Fqn fqn : filterVisitor.result) invalidateAcrossCluster(fqn, workspace, defaultSynchronous, ctx);
             }
             catch (Throwable t)
@@ -366,8 +371,7 @@
 
    private void incrementInvalidations()
    {
-      if (config.getExposeManagementStatistics() && getStatisticsEnabled())
-         invalidations++;
+      if (getStatisticsEnabled()) invalidations++;
    }
 
    protected DataVersion getNodeVersion(TransactionWorkspace w, Fqn f)

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticCreateIfNotExistsInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticCreateIfNotExistsInterceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticCreateIfNotExistsInterceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -17,6 +17,7 @@
 import org.jboss.cache.commands.write.PutDataMapCommand;
 import org.jboss.cache.commands.write.PutKeyValueCommand;
 import org.jboss.cache.factories.annotations.Inject;
+import org.jboss.cache.factories.annotations.Start;
 import org.jboss.cache.notifications.Notifier;
 import org.jboss.cache.optimistic.DataVersion;
 import org.jboss.cache.optimistic.DefaultDataVersion;
@@ -56,9 +57,14 @@
       this.nodeFactory = nodeFactory;
       this.dataContainer = dataContainer;
       this.cache = cacheSPI;
-      this.lockAcquisitionTimeout = cacheSPI.getConfiguration().getLockAcquisitionTimeout();
    }
 
+   @Start
+   private void init()
+   {
+      lockAcquisitionTimeout = configuration.getLockAcquisitionTimeout();
+   }
+
    @Override
    public Object visitPutDataMapCommand(InvocationContext ctx, PutDataMapCommand command) throws Throwable
    {

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticLockingInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticLockingInterceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticLockingInterceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -13,8 +13,6 @@
 import org.jboss.cache.commands.tx.CommitCommand;
 import org.jboss.cache.commands.tx.OptimisticPrepareCommand;
 import org.jboss.cache.commands.tx.RollbackCommand;
-import org.jboss.cache.config.Configuration;
-import org.jboss.cache.factories.annotations.Inject;
 import org.jboss.cache.factories.annotations.Start;
 import static org.jboss.cache.lock.NodeLock.LockType.READ;
 import static org.jboss.cache.lock.NodeLock.LockType.WRITE;
@@ -33,20 +31,13 @@
 public class OptimisticLockingInterceptor extends OptimisticInterceptor
 {
    private long lockAcquisitionTimeout;
-   private Configuration configuration;
 
-   @Inject
-   public void initialize(Configuration configuration)
-   {
-      this.configuration = configuration;
-      lockAcquisitionTimeout = configuration.getLockAcquisitionTimeout();
-   }
-
    @Start
-   private void checkTransactionManager()
+   private void init()
    {
       if (txManager == null)
          log.fatal("No transaction manager lookup class has been defined. Transactions cannot be used and thus OPTIMISTIC locking cannot be used!  Expect errors!!");
+      lockAcquisitionTimeout = configuration.getLockAcquisitionTimeout();
    }
 
    @Override

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticNodeInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticNodeInterceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticNodeInterceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -26,9 +26,9 @@
 import org.jboss.cache.commands.write.RemoveDataCommand;
 import org.jboss.cache.commands.write.RemoveKeyCommand;
 import org.jboss.cache.commands.write.RemoveNodeCommand;
-import org.jboss.cache.config.Configuration;
 import org.jboss.cache.config.Option;
 import org.jboss.cache.factories.annotations.Inject;
+import org.jboss.cache.factories.annotations.Start;
 import org.jboss.cache.loader.CacheLoaderManager;
 import org.jboss.cache.notifications.Notifier;
 import static org.jboss.cache.notifications.event.NodeModifiedEvent.ModificationType.*;
@@ -63,15 +63,20 @@
 
    @Inject
    protected void injectDependencies(Notifier notifier, NodeFactory nodeFactory, CacheLoaderManager cacheLoaderManager,
-                                     DataContainer dataContainer, Configuration configuration)
+                                     DataContainer dataContainer)
    {
       this.notifier = notifier;
       this.nodeFactory = nodeFactory;
       this.cacheLoaderManager = cacheLoaderManager;
       this.dataContainer = dataContainer;
-      this.lockAcquisitionTimeout = configuration.getLockAcquisitionTimeout();
    }
 
+   @Start
+   private void init()
+   {
+      lockAcquisitionTimeout = configuration.getLockAcquisitionTimeout();
+   }
+
    public OptimisticNodeInterceptor()
    {
       log = LogFactory.getLog(getClass());

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticReplicationInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticReplicationInterceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticReplicationInterceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -62,13 +62,10 @@
 
    private CommandsFactory commandsFactory;
 
-   private Configuration configuration;
-
    @Inject
-   public void initialize(CommandsFactory commandsFactory, Configuration configuration)
+   public void initialize(CommandsFactory commandsFactory)
    {
       this.commandsFactory = commandsFactory;
-      this.configuration = configuration;
    }
 
    private boolean isLocalOptionOverrides(InvocationContext ctx)

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticValidatorInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticValidatorInterceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticValidatorInterceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -7,7 +7,6 @@
 package org.jboss.cache.interceptors;
 
 import org.jboss.cache.CacheException;
-import org.jboss.cache.CacheSPI;
 import org.jboss.cache.DataContainer;
 import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
@@ -54,10 +53,15 @@
    private DataContainer dataContainer;
 
    @Inject
-   public void initialize(CacheSPI cache, DataContainer dataContainer)
+   public void initialize(DataContainer dataContainer)
    {
       this.dataContainer = dataContainer;
-      CacheMode mode = cache.getConfiguration().getCacheMode();
+   }
+
+   @Inject
+   private void init()
+   {
+      CacheMode mode = configuration.getCacheMode();
       useTombstones = (mode == CacheMode.INVALIDATION_ASYNC) || (mode == CacheMode.INVALIDATION_SYNC);
    }
 

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/PassivationInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/PassivationInterceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/PassivationInterceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -5,7 +5,6 @@
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.write.EvictCommand;
-import org.jboss.cache.config.Configuration;
 import org.jboss.cache.factories.annotations.Inject;
 import org.jboss.cache.interceptors.base.CommandInterceptor;
 import org.jboss.cache.loader.CacheLoader;
@@ -32,14 +31,12 @@
 
    protected CacheLoader loader;
    private Notifier notifier;
-   private Configuration configuration;
    private DataContainer dataContainer;
 
    @Inject
-   public void setDependencies(Notifier notifier, Configuration configuration, DataContainer dataContainer, CacheLoaderManager loaderManager)
+   public void setDependencies(Notifier notifier, DataContainer dataContainer, CacheLoaderManager loaderManager)
    {
       this.notifier = notifier;
-      this.configuration = configuration;
       this.dataContainer = dataContainer;
       this.loader = loaderManager.getCacheLoader();
    }
@@ -83,10 +80,7 @@
          if (trace) log.trace("Passivating " + fqn);
          loader.put(fqn, attributes);
          notifier.notifyNodePassivated(fqn, false, Collections.emptyMap(), ctx);
-         if (getStatisticsEnabled() && configuration.getExposeManagementStatistics())
-         {
-            passivations.getAndIncrement();
-         }
+         if (getStatisticsEnabled()) passivations.getAndIncrement();
       }
       catch (NodeNotLoadedException e)
       {

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/PessimisticLockInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/PessimisticLockInterceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/PessimisticLockInterceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -26,8 +26,8 @@
 import org.jboss.cache.commands.write.RemoveDataCommand;
 import org.jboss.cache.commands.write.RemoveKeyCommand;
 import org.jboss.cache.commands.write.RemoveNodeCommand;
-import org.jboss.cache.config.Configuration;
 import org.jboss.cache.factories.annotations.Inject;
+import org.jboss.cache.factories.annotations.Start;
 import org.jboss.cache.interceptors.base.PostProcessingCommandInterceptor;
 import org.jboss.cache.lock.IsolationLevel;
 import org.jboss.cache.lock.LockManager;
@@ -61,19 +61,22 @@
    private TransactionTable txTable;
    private DataContainer dataContainer;
    private LockManager lockManager;
-   private Configuration configuration;
    private long lockAcquisitionTimeout;
 
    @Inject
-   public void injectDependencies(Configuration configuration, DataContainer dataContainer, TransactionTable txTable, LockManager lockManager)
+   public void injectDependencies(DataContainer dataContainer, TransactionTable txTable, LockManager lockManager)
    {
-      lockAcquisitionTimeout = configuration.getLockAcquisitionTimeout();
       this.dataContainer = dataContainer;
       this.txTable = txTable;
       this.lockManager = lockManager;
-      this.configuration = configuration;
    }
 
+   @Start
+   private void init()
+   {
+      lockAcquisitionTimeout = configuration.getLockAcquisitionTimeout();
+   }
+
    @Override
    public Object handlePutDataMapCommand(InvocationContext ctx, PutDataMapCommand command) throws Throwable
    {

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/ReplicationInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/ReplicationInterceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/ReplicationInterceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -41,7 +41,7 @@
    public Object visitCommitCommand(InvocationContext ctx, CommitCommand command) throws Throwable
    {
       if (!skipReplicationOfTransactionMethod(ctx))
-         replicateCall(ctx, command, config.isSyncCommitPhase(), ctx.getOptionOverrides(), true);
+         replicateCall(ctx, command, configuration.isSyncCommitPhase(), ctx.getOptionOverrides(), true);
       return invokeNextInterceptor(ctx, command);
    }
 
@@ -58,7 +58,7 @@
    {
       if (!skipReplicationOfTransactionMethod(ctx) && !ctx.isLocalRollbackOnly())
       {
-         replicateCall(ctx, command, config.isSyncRollbackPhase(), ctx.getOptionOverrides());
+         replicateCall(ctx, command, configuration.isSyncRollbackPhase(), ctx.getOptionOverrides());
       }
       return invokeNextInterceptor(ctx, command);
    }
@@ -127,8 +127,8 @@
          if (trace)
          {
             log.trace("invoking method " + command.getClass().getSimpleName() + ", members=" + rpcManager.getMembers() + ", mode=" +
-                  config.getCacheMode() + ", exclude_self=" + true + ", timeout=" +
-                  config.getSyncReplTimeout());
+                  configuration.getCacheMode() + ", exclude_self=" + true + ", timeout=" +
+                  configuration.getSyncReplTimeout());
          }
          if (!isSynchronous(ctx.getOptionOverrides()) || forceAsync)
          {
@@ -161,7 +161,7 @@
     */
    protected void runPreparePhase(PrepareCommand prepareMethod, GlobalTransaction gtx, InvocationContext ctx) throws Throwable
    {
-      boolean async = config.getCacheMode() == Configuration.CacheMode.REPL_ASYNC;
+      boolean async = configuration.getCacheMode() == Configuration.CacheMode.REPL_ASYNC;
       if (trace)
       {
          log.trace("(" + rpcManager.getLocalAddress() + "): running remote prepare for global tx " + gtx + " with async mode=" + async);

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/TxInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/TxInterceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/TxInterceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -63,7 +63,6 @@
 {
    private final static Object NULL = new Object();
 
-   private Configuration configuration;
    private CommandsFactory commandsFactory;
    private RPCManager rpcManager;
    private Notifier notifier;
@@ -83,11 +82,10 @@
    private long rollbacks = 0;
 
    @Inject
-   public void intialize(Configuration configuration, RPCManager rpcManager,
+   public void intialize(RPCManager rpcManager,
                          Notifier notifier, InvocationContextContainer icc,
                          LifecycleManager lifecycleManager, CommandsFactory factory)
    {
-      this.configuration = configuration;
       this.commandsFactory = factory;
       this.rpcManager = rpcManager;
       this.notifier = notifier;
@@ -137,10 +135,7 @@
 
    private void increasePrepares()
    {
-      if (configuration.getExposeManagementStatistics() && getStatisticsEnabled())
-      {
-         prepares++;
-      }
+      if (getStatisticsEnabled()) prepares++;
    }
 
    @Override
@@ -729,18 +724,12 @@
 
    private void increaseCommits()
    {
-      if (configuration.getExposeManagementStatistics() && getStatisticsEnabled())
-      {
-         commits++;
-      }
+      if (getStatisticsEnabled()) commits++;
    }
 
    private void increaseRollbacks()
    {
-      if (configuration.getExposeManagementStatistics() && getStatisticsEnabled())
-      {
-         rollbacks++;
-      }
+      if (getStatisticsEnabled()) rollbacks++;
    }
 
    /**

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/base/CommandInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/base/CommandInterceptor.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/base/CommandInterceptor.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -5,6 +5,9 @@
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.commands.AbstractVisitor;
 import org.jboss.cache.commands.VisitableCommand;
+import org.jboss.cache.config.Configuration;
+import org.jboss.cache.factories.annotations.Inject;
+import org.jboss.cache.factories.annotations.Start;
 import org.jboss.cache.interceptors.InterceptorMBean;
 
 import java.util.Collections;
@@ -42,12 +45,26 @@
    protected Log log;
    protected boolean trace;
 
+   protected Configuration configuration;
+
    public CommandInterceptor()
    {
       log = LogFactory.getLog(getClass());
       trace = log.isTraceEnabled();
    }
 
+   @Inject
+   private void injectConfiguration(Configuration configuration)
+   {
+      this.configuration = configuration;
+   }
+
+   @Start
+   private void checkStatisticsUsed()
+   {
+      setStatisticsEnabled(configuration.getExposeManagementStatistics());
+   }
+
    /**
     * @return true if gathering statistics for JMX is enabled on this interceptor.
     */

Modified: core/trunk/src/main/java/org/jboss/cache/lock/LockManager.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/lock/LockManager.java	2008-04-30 08:11:48 UTC (rev 5768)
+++ core/trunk/src/main/java/org/jboss/cache/lock/LockManager.java	2008-04-30 12:00:36 UTC (rev 5769)
@@ -26,6 +26,7 @@
 public class LockManager
 {
    private static Log log = LogFactory.getLog(LockManager.class);
+   private static final boolean trace = log.isTraceEnabled();
 
    private Configuration configuration;
    private long lockAcquisitionTimeout;
@@ -99,7 +100,7 @@
 
       Object owner = (gtx != null) ? gtx : currentThread;
       NodeSPI currentNode;
-      if (log.isTraceEnabled()) log.trace("Attempting to lock node " + fqn + " for owner " + owner);
+      if (trace) log.trace("Attempting to lock node " + fqn + " for owner " + owner);
       long expiryTime = System.currentTimeMillis() + timeout;
       currentNode = rootNode;
       NodeSPI parent = null;
@@ -116,12 +117,12 @@
                // if the new node is to be marked as deleted, do not notify!
                currentNode = parent.addChildDirect(childName, !skipNotification);
                created = true;
-               if (log.isTraceEnabled()) log.trace("Child node was null, so created child node " + childName);
+               if (trace) log.trace("Child node was null, so created child node " + childName);
                if (createdNodes != null) createdNodes.add(currentNode);
             }
             else
             {
-               if (log.isTraceEnabled())
+               if (trace)
                   log.trace("failed to find or create child " + childName + " of node " + currentNode);
                return false;
             }
@@ -147,7 +148,7 @@
          NodeSPI repeek = dataContainer.peek(currentNodeFqn, true, true);
          if (currentNode != repeek)
          {
-            if (log.isTraceEnabled())
+            if (trace)
                log.trace("Was waiting for and obtained a lock on a node that doesn't exist anymore!  Attempting lock acquisition again.");
             // we have an orphan!! Lose the unnecessary lock and re-acquire the lock (and potentially recreate the node).
             // check if the parent exists!!
@@ -156,7 +157,7 @@
             if (parent == null || dataContainer.peek(parent.getFqn(), true, true) == null)
             {
                // crap!
-               if (log.isTraceEnabled())
+               if (trace)
                   log.trace("Parent has been deleted again.  Go through the lock method all over again.");
                currentNode = rootNode;
                currentIndex = -1;
@@ -171,7 +172,7 @@
                {
                   throw new TimeoutException("Unable to acquire lock on child node " + Fqn.fromRelativeElements(currentNode.getFqn(), childName) + " after " + timeout + " millis.");
                }
-               if (log.isTraceEnabled()) log.trace("Moving one level up, current node is :" + currentNode);
+               if (trace) log.trace("Moving one level up, current node is :" + currentNode);
             }
          }
          else




More information about the jbosscache-commits mailing list