You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by tv...@apache.org on 2016/02/10 14:11:44 UTC
svn commit: r1729592 - in /commons/proper/jcs/trunk/commons-jcs-core/src:
main/java/org/apache/commons/jcs/auxiliary/remote/
test/java/org/apache/commons/jcs/auxiliary/remote/
test/java/org/apache/commons/jcs/auxiliary/remote/server/
Author: tv
Date: Wed Feb 10 13:11:44 2016
New Revision: 1729592
URL: http://svn.apache.org/viewvc?rev=1729592&view=rev
Log:
Strip down API
Removed:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheRestore.java
Modified:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheFailoverRunner.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheManager.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheMonitor.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWait.java
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/TestRemoteCache.java
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/server/BasicRemoteCacheClientServerUnitTest.java
Modified: commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheFailoverRunner.java
URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheFailoverRunner.java?rev=1729592&r1=1729591&r2=1729592&view=diff
==============================================================================
--- commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheFailoverRunner.java (original)
+++ commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheFailoverRunner.java Wed Feb 10 13:11:44 2016
@@ -194,7 +194,7 @@ public class RemoteCacheFailoverRunner<K
// add a listener if there are none, need to tell rca
// what number it is at
- ICache<K, V> ic = rcm.getCache( rca.getCacheName() );
+ ICache<K, V> ic = rcm.getCache( rca );
if ( ic.getStatus() == CacheStatus.ALIVE )
{
// may need to do this more gracefully
@@ -320,7 +320,7 @@ public class RemoteCacheFailoverRunner<K
// add a listener if there are none, need to tell rca what number it
// is at
- ICache<K, V> ic = rcm.getCache( rca.getCacheName() );
+ ICache<K, V> ic = rcm.getCache( rca );
// by default the listener id should be 0, else it will be the
// listener
// Originally associated with the remote cache. either way is fine.
Modified: commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheManager.java
URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheManager.java?rev=1729592&r1=1729591&r2=1729592&view=diff
==============================================================================
--- commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheManager.java (original)
+++ commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheManager.java Wed Feb 10 13:11:44 2016
@@ -28,6 +28,7 @@ import java.util.concurrent.locks.Reentr
import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheAttributes;
import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheClient;
import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheListener;
+import org.apache.commons.jcs.engine.CacheStatus;
import org.apache.commons.jcs.engine.CacheWatchRepairable;
import org.apache.commons.jcs.engine.ZombieCacheServiceNonLocal;
import org.apache.commons.jcs.engine.ZombieCacheWatch;
@@ -58,9 +59,6 @@ public class RemoteCacheManager
/** Lock for initialization of caches */
private ReentrantLock cacheLock = new ReentrantLock();
- /** The configuration attributes. */
- private IRemoteCacheAttributes remoteCacheAttributes;
-
/** The event logger. */
private final ICacheEventLogger cacheEventLogger;
@@ -85,6 +83,9 @@ public class RemoteCacheManager
/** The service found through lookup */
private final String registry;
+ /** can it be restored */
+ private boolean canFix = true;
+
/**
* Constructs an instance to with the given remote connection parameters. If the connection
* cannot be made, "zombie" services will be temporarily used until a successful re-connection
@@ -100,13 +101,34 @@ public class RemoteCacheManager
RemoteCacheMonitor monitor,
ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer)
{
- this.remoteCacheAttributes = cattr;
this.cacheMgr = cacheMgr;
this.monitor = monitor;
this.cacheEventLogger = cacheEventLogger;
this.elementSerializer = elementSerializer;
+ this.remoteWatch = new CacheWatchRepairable();
this.registry = RemoteUtils.getNamingURL(cattr.getRemoteLocation(), cattr.getRemoteServiceName());
+
+ try
+ {
+ lookupRemoteService();
+ }
+ catch (IOException e)
+ {
+ log.error("Could not find server", e);
+ // Notify the cache monitor about the error, and kick off the
+ // recovery process.
+ monitor.notifyError();
+ }
+ }
+
+ /**
+ * Lookup remote service from registry
+ * @throws IOException if the remote service could not be found
+ *
+ */
+ protected void lookupRemoteService() throws IOException
+ {
if ( log.isInfoEnabled() )
{
log.info( "Looking up server [" + registry + "]" );
@@ -120,29 +142,21 @@ public class RemoteCacheManager
}
// Successful connection to the remote server.
- remoteService = (ICacheServiceNonLocal<?, ?>) obj;
+ this.remoteService = (ICacheServiceNonLocal<?, ?>) obj;
if ( log.isDebugEnabled() )
{
- log.debug( "remoteService = " + remoteService );
+ log.debug( "Remote Service = " + remoteService );
}
-
- ICacheObserver remoteObserver = (ICacheObserver) obj;
- remoteWatch = new CacheWatchRepairable();
- remoteWatch.setCacheWatch( remoteObserver );
+ remoteWatch.setCacheWatch( (ICacheObserver) remoteService );
}
catch ( Exception ex )
{
// Failed to connect to the remote server.
// Configure this RemoteCacheManager instance to use the "zombie"
// services.
- log.error( "Problem finding server at [" + registry + "]", ex );
- remoteService = new ZombieCacheServiceNonLocal<String, String>();
- remoteWatch = new CacheWatchRepairable();
+ this.remoteService = new ZombieCacheServiceNonLocal<String, String>();
remoteWatch.setCacheWatch( new ZombieCacheWatch() );
-
- // Notify the cache monitor about the error, and kick off the
- // recovery process.
- monitor.notifyError();
+ throw new IOException( "Problem finding server at [" + registry + "]", ex );
}
}
@@ -183,35 +197,6 @@ public class RemoteCacheManager
* all listeners to a remote server, in case a failover is a primary of another region. Having
* one regions failover act as another servers primary is not currently supported.
* <p>
- * @param cacheName the name of the cache
- * @param listener the listener to de-register
- * @throws IOException
- */
- public <K, V> void removeRemoteCacheListener( String cacheName, IRemoteCacheListener<K, V> listener )
- throws IOException
- {
- remoteWatch.removeCacheListener( cacheName, listener );
- }
-
- /**
- * Removes a listener. When the primary recovers the failover must deregister itself for a
- * region. The failover runner will call this method to de-register. We do not want to deregister
- * all listeners to a remote server, in case a failover is a primary of another region. Having
- * one regions failover act as another servers primary is not currently supported.
- * <p>
- * @param cattr
- * @param listener
- * @throws IOException
- */
- public <K, V> void removeRemoteCacheListener( IRemoteCacheAttributes cattr, IRemoteCacheListener<K, V> listener )
- throws IOException
- {
- removeRemoteCacheListener(cattr.getCacheName(), listener);
- }
-
- /**
- * Stops a listener. This is used to deregister a failover after primary reconnection.
- * <p>
* @param cattr
* @throws IOException
*/
@@ -237,22 +222,6 @@ public class RemoteCacheManager
}
}
- /**
- * Stops a listener. This is used to deregister a failover after primary reconnection.
- * <p>
- * @param cacheName
- * @throws IOException
- */
- public void removeRemoteCacheListener( String cacheName )
- throws IOException
- {
- RemoteCacheNoWait<?, ?> cache = caches.get( cacheName );
- if ( cache != null )
- {
- removeListenerFromCache(cache);
- }
- }
-
// common helper method
private void removeListenerFromCache(RemoteCacheNoWait<?, ?> cache) throws IOException
{
@@ -263,23 +232,10 @@ public class RemoteCacheManager
}
// could also store the listener for a server in the manager.
IRemoteCacheListener<?, ?> listener = rc.getListener();
- removeRemoteCacheListener( cache.getCacheName(), listener );
+ remoteWatch.removeCacheListener( cache.getCacheName(), listener );
}
/**
- * Returns a remote cache for the given cache name.
- * <p>
- * @param cacheName
- * @return The cache value
- */
- public <K, V> RemoteCacheNoWait<K, V> getCache( String cacheName )
- {
- IRemoteCacheAttributes ca = (IRemoteCacheAttributes) remoteCacheAttributes.clone();
- ca.setCacheName( cacheName );
- return getCache( ca );
- }
-
- /**
* Gets a RemoteCacheNoWait from the RemoteCacheManager. The RemoteCacheNoWait objects are
* identified by the cache name value of the RemoteCacheAttributes object.
* <p>
@@ -346,58 +302,6 @@ public class RemoteCacheManager
return remoteCacheNoWait;
}
- /**
- * Releases the cache.
- * <p>
- * @param name the name of the cache
- * @throws IOException
- */
- public void freeCache( String name )
- throws IOException
- {
- RemoteCacheNoWait<?, ?> c = caches.remove( name );
- freeCache(c);
- }
-
- /**
- * Releases the cache.
- * <p>
- * @param cache the cache instance
- * @throws IOException
- */
- public void freeCache( RemoteCacheNoWait<?, ?> cache )
- throws IOException
- {
- if ( cache != null )
- {
- if ( log.isInfoEnabled() )
- {
- log.info( "freeCache [" + cache.getCacheName() + "]" );
- }
-
- removeListenerFromCache(cache);
- cache.dispose();
- }
- }
-
- /**
- * Gets the stats attribute of the RemoteCacheManager object
- * <p>
- * @return The stats value
- */
- public String getStats()
- {
- StringBuilder stats = new StringBuilder();
- for (RemoteCacheNoWait<?, ?> c : caches.values())
- {
- if ( c != null )
- {
- stats.append( c.getCacheName() );
- }
- }
- return stats.toString();
- }
-
/** Shutdown all. */
public void release()
{
@@ -409,7 +313,13 @@ public class RemoteCacheManager
{
try
{
- freeCache( c );
+ if ( log.isInfoEnabled() )
+ {
+ log.info( "freeCache [" + c.getCacheName() + "]" );
+ }
+
+ removeListenerFromCache(c);
+ c.dispose();
}
catch ( IOException ex )
{
@@ -425,50 +335,56 @@ public class RemoteCacheManager
/**
* Fixes up all the caches managed by this cache manager.
- * <p>
- * @param remoteService
- * @param remoteWatch
*/
- public void fixCaches( ICacheServiceNonLocal<?, ?> remoteService, ICacheObserver remoteWatch )
+ public void fixCaches()
{
+ if ( !canFix )
+ {
+ return;
+ }
+
if ( log.isInfoEnabled() )
{
log.info( "Fixing caches. ICacheServiceNonLocal " + remoteService + " | IRemoteCacheObserver " + remoteWatch );
}
- synchronized ( this )
+ for (RemoteCacheNoWait<?, ?> c : caches.values())
{
- this.remoteService = remoteService;
- this.remoteWatch.setCacheWatch( remoteWatch );
- for (RemoteCacheNoWait<?, ?> c : caches.values())
+ if (c.getStatus() == CacheStatus.ERROR)
{
c.fixCache( remoteService );
}
}
- }
-
- /**
- * Get the registry RMI URL
- * @return the registry URL
- */
- public String getRegistryURL()
- {
- return registry;
+ if ( log.isInfoEnabled() )
+ {
+ String msg = "Remote connection to " + registry + " resumed.";
+ if ( cacheEventLogger != null )
+ {
+ cacheEventLogger.logApplicationEvent( "RemoteCacheManager", "fix", msg );
+ }
+ log.info( msg );
+ }
}
/**
- * Logs an event if an event logger is configured.
+ * Returns true if the connection to the remote host can be
+ * successfully re-established.
* <p>
- * @param source
- * @param eventName
- * @param optionalDetails
+ * @return true if we found a failover server
*/
- protected void logApplicationEvent( String source, String eventName, String optionalDetails )
+ public boolean canFixCaches()
{
- if ( cacheEventLogger != null )
+ try
{
- cacheEventLogger.logApplicationEvent( source, eventName, optionalDetails );
+ lookupRemoteService();
}
+ catch (IOException e)
+ {
+ log.error("Could not find server", e);
+ canFix = false;
+ }
+
+ return canFix;
}
}
Modified: commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheMonitor.java
URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheMonitor.java?rev=1729592&r1=1729591&r2=1729592&view=diff
==============================================================================
--- commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheMonitor.java (original)
+++ commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheMonitor.java Wed Feb 10 13:11:44 2016
@@ -22,7 +22,6 @@ package org.apache.commons.jcs.auxiliary
import java.util.concurrent.ConcurrentHashMap;
import org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheMonitor;
-import org.apache.commons.jcs.engine.CacheStatus;
/**
* Used to monitor and repair any failed connection for the remote cache service. By default the
@@ -39,13 +38,13 @@ public class RemoteCacheMonitor extends
/**
* Map of managers to monitor
*/
- private ConcurrentHashMap<String, RemoteCacheManager> managers;
+ private ConcurrentHashMap<RemoteCacheManager, RemoteCacheManager> managers;
/** Constructor for the RemoteCacheMonitor object */
public RemoteCacheMonitor()
{
super("JCS-RemoteCacheMonitor");
- this.managers = new ConcurrentHashMap<String, RemoteCacheManager>();
+ this.managers = new ConcurrentHashMap<RemoteCacheManager, RemoteCacheManager>();
setIdlePeriod(30000L);
}
@@ -56,7 +55,7 @@ public class RemoteCacheMonitor extends
*/
public void addManager(RemoteCacheManager manager)
{
- this.managers.put(manager.getRegistryURL(), manager);
+ this.managers.put(manager, manager);
// if not yet started, go ahead
if (this.getState() == Thread.State.NEW)
@@ -86,27 +85,15 @@ public class RemoteCacheMonitor extends
// Each RemoteCacheManager corresponds to one remote connection.
for (RemoteCacheManager mgr : managers.values())
{
- // If any cache is in error, it strongly suggests all managers
- // managed by the
- // same RmicCacheManager instance are in error. So we fix
- // them once and for all.
- for (RemoteCacheNoWait<?, ?> c : mgr.caches.values())
+ // If we can't fix them, just skip and re-try in
+ // the next round.
+ if ( mgr.canFixCaches() )
{
- if ( c.getStatus() == CacheStatus.ERROR )
- {
- RemoteCacheRestore repairer = new RemoteCacheRestore( mgr );
- // If we can't fix them, just skip and re-try in
- // the next round.
- if ( repairer.canFix() )
- {
- repairer.fix();
- }
- else
- {
- allright.set(false);
- }
- break;
- }
+ mgr.fixCaches();
+ }
+ else
+ {
+ allright.set(false);
}
}
}
Modified: commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWait.java
URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWait.java?rev=1729592&r1=1729591&r2=1729592&view=diff
==============================================================================
--- commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWait.java (original)
+++ commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWait.java Wed Feb 10 13:11:44 2016
@@ -99,14 +99,7 @@ public class RemoteCacheNoWait<K, V>
public RemoteCacheNoWait( IRemoteCacheClient<K, V> cache )
{
remoteCacheClient = cache;
-
- CacheEventQueueFactory<K, V> factory = new CacheEventQueueFactory<K, V>();
- this.cacheEventQueue = factory.createCacheEventQueue(
- new CacheAdaptor<K, V>( remoteCacheClient ),
- remoteCacheClient.getListenerId(),
- remoteCacheClient.getCacheName(),
- remoteCacheClient.getAuxiliaryCacheAttributes().getEventQueuePoolName(),
- remoteCacheClient.getAuxiliaryCacheAttributes().getEventQueueType() );
+ this.cacheEventQueue = createCacheEventQueue(cache);
if ( remoteCacheClient.getStatus() == CacheStatus.ERROR )
{
@@ -115,6 +108,22 @@ public class RemoteCacheNoWait<K, V>
}
/**
+ * Create a cache event queue from the parameters of the remote client
+ * @param client the remote client
+ */
+ private ICacheEventQueue<K, V> createCacheEventQueue( IRemoteCacheClient<K, V> client )
+ {
+ CacheEventQueueFactory<K, V> factory = new CacheEventQueueFactory<K, V>();
+ ICacheEventQueue<K, V> ceq = factory.createCacheEventQueue(
+ new CacheAdaptor<K, V>( client ),
+ client.getListenerId(),
+ client.getCacheName(),
+ client.getAuxiliaryCacheAttributes().getEventQueuePoolName(),
+ client.getAuxiliaryCacheAttributes().getEventQueueType() );
+ return ceq;
+ }
+
+ /**
* Adds a put event to the queue.
* <p>
* @param element
@@ -416,10 +425,7 @@ public class RemoteCacheNoWait<K, V>
{
ICacheEventQueue<K, V> previousQueue = cacheEventQueue;
- CacheEventQueueFactory<K, V> fact = new CacheEventQueueFactory<K, V>();
- this.cacheEventQueue = fact.createCacheEventQueue( new CacheAdaptor<K, V>( remoteCacheClient ), remoteCacheClient
- .getListenerId(), remoteCacheClient.getCacheName(), remoteCacheClient.getAuxiliaryCacheAttributes()
- .getEventQueuePoolName(), remoteCacheClient.getAuxiliaryCacheAttributes().getEventQueueType() );
+ this.cacheEventQueue = createCacheEventQueue(this.remoteCacheClient);
if ( previousQueue.isWorking() )
{
Modified: commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/TestRemoteCache.java
URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/TestRemoteCache.java?rev=1729592&r1=1729591&r2=1729592&view=diff
==============================================================================
--- commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/TestRemoteCache.java (original)
+++ commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/TestRemoteCache.java Wed Feb 10 13:11:44 2016
@@ -106,9 +106,10 @@ public class TestRemoteCache
RemoteCacheAttributes rca = new RemoteCacheAttributes();
rca.setRemoteLocation( "localhost", 1101 );
+ rca.setCacheName( "testCache" );
RemoteCacheManager mgr = RemoteCacheFactory.getManager( rca, cacheMgr, new MockCacheEventLogger(), new MockElementSerializer() );
- AuxiliaryCache<String, String> cache = mgr.getCache( "testCache" );
+ AuxiliaryCache<String, String> cache = mgr.getCache( rca );
int numMes = 100;
for ( int i = 0; i < numMes; i++ )
Modified: commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/server/BasicRemoteCacheClientServerUnitTest.java
URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/server/BasicRemoteCacheClientServerUnitTest.java?rev=1729592&r1=1729591&r2=1729592&view=diff
==============================================================================
--- commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/server/BasicRemoteCacheClientServerUnitTest.java (original)
+++ commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/server/BasicRemoteCacheClientServerUnitTest.java Wed Feb 10 13:11:44 2016
@@ -145,14 +145,14 @@ public class BasicRemoteCacheClientServe
RemoteCacheAttributes attributes = new RemoteCacheAttributes();
attributes.setRemoteLocation("localhost", remotePort);
attributes.setLocalPort(LOCAL_PORT);
+ attributes.setCacheName("testSinglePut");
RemoteCacheManager remoteCacheManager = RemoteCacheFactory.getManager(attributes, compositeCacheManager, new MockCacheEventLogger(), new MockElementSerializer());
- String regionName = "testSinglePut";
- AuxiliaryCache<String, String> cache = remoteCacheManager.getCache(regionName);
+ AuxiliaryCache<String, String> cache = remoteCacheManager.getCache(attributes);
// DO WORK
int numPutsPrior = server.getPutCount();
- ICacheElement<String, String> element = new CacheElement<String, String>(regionName, "key", "value");
+ ICacheElement<String, String> element = new CacheElement<String, String>(cache.getCacheName(), "key", "value");
cache.update(element);
SleepUtil.sleepAtLeast(200);
@@ -192,16 +192,16 @@ public class BasicRemoteCacheClientServe
RemoteCacheAttributes attributes = new RemoteCacheAttributes();
attributes.setRemoteLocation("localhost", remotePort);
attributes.setLocalPort(LOCAL_PORT);
+ attributes.setCacheName("testPutRemove");
MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
RemoteCacheManager remoteCacheManager = RemoteCacheFactory.getManager(attributes, compositeCacheManager, cacheEventLogger, null);
- String regionName = "testPutRemove";
- AuxiliaryCache<String, String> cache = remoteCacheManager.getCache(regionName);
+ AuxiliaryCache<String, String> cache = remoteCacheManager.getCache(attributes);
// DO WORK
int numPutsPrior = server.getPutCount();
- ICacheElement<String, String> element = new CacheElement<String, String>(regionName, "key", "value");
+ ICacheElement<String, String> element = new CacheElement<String, String>(cache.getCacheName(), "key", "value");
cache.update(element);
SleepUtil.sleepAtLeast(50);
@@ -248,17 +248,17 @@ public class BasicRemoteCacheClientServe
RemoteCacheAttributes attributes = new RemoteCacheAttributes();
attributes.setRemoteLocation("localhost", remotePort);
attributes.setLocalPort(LOCAL_PORT);
+ attributes.setCacheName("testPutAndListen");
RemoteCacheManager remoteCacheManager = RemoteCacheFactory.getManager(attributes, compositeCacheManager, new MockCacheEventLogger(), new MockElementSerializer());
- String regionName = "testPutAndListen";
- AuxiliaryCache<String, String> cache = remoteCacheManager.getCache(regionName);
+ AuxiliaryCache<String, String> cache = remoteCacheManager.getCache(attributes);
MockRemoteCacheListener<String, String> listener = new MockRemoteCacheListener<String, String>();
- server.addCacheListener(regionName, listener);
+ server.addCacheListener(cache.getCacheName(), listener);
// DO WORK
int numPutsPrior = server.getPutCount();
- ICacheElement<String, String> element = new CacheElement<String, String>(regionName, "key", "value");
+ ICacheElement<String, String> element = new CacheElement<String, String>(cache.getCacheName(), "key", "value");
cache.update(element);
SleepUtil.sleepAtLeast(50);
@@ -280,7 +280,7 @@ public class BasicRemoteCacheClientServe
// remove from all regions.
server.removeCacheListener(listener);
}
- }
+ }
/**
* Register a listener with the server. Send an update. Verify that the listener received it.
@@ -290,27 +290,27 @@ public class BasicRemoteCacheClientServe
@Test
public void test4PutaMultipleAndListen()
throws Exception
- {
+ {
// SETUP
MockCompositeCacheManager compositeCacheManager = new MockCompositeCacheManager();
RemoteCacheAttributes attributes = new RemoteCacheAttributes();
attributes.setRemoteLocation("localhost", remotePort);
attributes.setLocalPort(LOCAL_PORT);
+ attributes.setCacheName("testPutaMultipleAndListen");
RemoteCacheManager remoteCacheManager = RemoteCacheFactory.getManager(attributes, compositeCacheManager, new MockCacheEventLogger(), new MockElementSerializer());
- String regionName = "testPutaMultipleAndListen";
- AuxiliaryCache<String, String> cache = remoteCacheManager.getCache(regionName);
+ AuxiliaryCache<String, String> cache = remoteCacheManager.getCache(attributes);
MockRemoteCacheListener<String, String> listener = new MockRemoteCacheListener<String, String>();
- server.addCacheListener(regionName, listener);
+ server.addCacheListener(cache.getCacheName(), listener);
// DO WORK
int numPutsPrior = server.getPutCount();
int numToPut = 100;
for (int i = 0; i < numToPut; i++)
{
- ICacheElement<String, String> element = new CacheElement<String, String>(regionName, "key" + 1, "value" + i);
+ ICacheElement<String, String> element = new CacheElement<String, String>(cache.getCacheName(), "key" + 1, "value" + i);
cache.update(element);
}
SleepUtil.sleepAtLeast(500);
@@ -328,7 +328,7 @@ public class BasicRemoteCacheClientServe
System.out.println(server.getStats());
throw e;
}
- }
+ }
@Test
public void testLocalHost() throws Exception