From: Manik S. <msu...@jb...> - 2006-01-24 14:46:32
|
User: msurtani Date: 06/01/24 09:46:22 Modified: src/org/jboss/cache TreeCache.java Log: Ensure we start all cache loaders *before* doing any state transfers. Revision Changes Path 1.108 +30 -48 JBossCache/src/org/jboss/cache/TreeCache.java (In the diff below, changes in quantity of whitespace are not shown.) Index: TreeCache.java =================================================================== RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/TreeCache.java,v retrieving revision 1.107 retrieving revision 1.108 diff -u -b -r1.107 -r1.108 --- TreeCache.java 18 Jan 2006 22:21:53 -0000 1.107 +++ TreeCache.java 24 Jan 2006 14:46:22 -0000 1.108 @@ -6,27 +6,7 @@ */ package org.jboss.cache; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Properties; -import java.util.Set; -import java.util.Vector; - -import javax.management.MBeanServer; -import javax.management.MBeanServerFactory; -import javax.transaction.Status; -import javax.transaction.SystemException; -import javax.transaction.Transaction; -import javax.transaction.TransactionManager; - +import EDU.oswego.cs.dl.util.concurrent.CopyOnWriteArraySet; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jboss.cache.config.CacheLoaderConfig; @@ -41,11 +21,7 @@ import org.jboss.cache.lock.LockStrategyFactory; import org.jboss.cache.lock.LockingException; import org.jboss.cache.lock.TimeoutException; -import org.jboss.cache.marshall.Region; -import org.jboss.cache.marshall.RegionManager; -import org.jboss.cache.marshall.RegionNameConflictException; -import org.jboss.cache.marshall.RegionNotFoundException; -import org.jboss.cache.marshall.TreeCacheMarshaller; +import org.jboss.cache.marshall.*; import org.jboss.cache.optimistic.DataVersion; import org.jboss.cache.statetransfer.StateTransferFactory; import org.jboss.cache.statetransfer.StateTransferGenerator; @@ -54,15 +30,7 @@ import org.jboss.util.NestedException; import org.jboss.util.NestedRuntimeException; import org.jgroups.Address; -import org.jgroups.Channel; -import org.jgroups.ChannelClosedException; -import org.jgroups.ChannelNotConnectedException; -import org.jgroups.JChannel; -import org.jgroups.MembershipListener; -import org.jgroups.Message; -import org.jgroups.MessageListener; -import org.jgroups.View; -import org.jgroups.ViewId; +import org.jgroups.*; import org.jgroups.blocks.GroupRequest; import org.jgroups.blocks.MethodCall; import org.jgroups.blocks.RpcDispatcher; @@ -73,7 +41,14 @@ import org.w3c.dom.NamedNodeMap; import org.w3c.dom.NodeList; -import EDU.oswego.cs.dl.util.concurrent.CopyOnWriteArraySet; +import javax.management.MBeanServer; +import javax.management.MBeanServerFactory; +import javax.transaction.Status; +import javax.transaction.SystemException; +import javax.transaction.Transaction; +import javax.transaction.TransactionManager; +import java.lang.reflect.Method; +import java.util.*; /** * A tree-like structure that is replicated across several members. Updates will @@ -86,7 +61,7 @@ * @author <a href="mailto:ma...@jb...">Manik Surtani (ma...@jb...)</a> * @author Brian Stansberry * @author Daniel Huang (dh...@jb...) - * @version $Id: TreeCache.java,v 1.107 2006/01/18 22:21:53 bstansberry Exp $ + * @version $Id: TreeCache.java,v 1.108 2006/01/24 14:46:22 msurtani Exp $ * <p/> */ public class TreeCache extends ServiceMBeanSupport implements TreeCacheMBean, Cloneable, MembershipListener @@ -1288,6 +1263,13 @@ if (!useCreateService) _createService(); + // cache loaders should be initialised *before* any state transfers take place to prevent + // exceptions involving cache loaders not being started. - Manik + if (cacheLoaderManager != null) + { + cacheLoaderManager.startCacheLoader(); + } + switch (cache_mode) { case LOCAL: @@ -1308,9 +1290,9 @@ throw new IllegalArgumentException("cache mode " + cache_mode + " is invalid"); } + //now attempt to preload the cache from the loader - Manik if (cacheLoaderManager != null) { - cacheLoaderManager.startCacheLoader(); cacheLoaderManager.preloadCache(); } |