[jboss-cvs] JBossCache/src/org/jboss/cache/buddyreplication ...
Manik Surtani
manik at jboss.org
Tue Jun 19 21:18:10 EDT 2007
User: msurtani
Date: 07/06/19 21:18:10
Modified: src/org/jboss/cache/buddyreplication BuddyManager.java
Log:
Unregister the view change listener when stopped.
Revision Changes Path
1.82 +11 -5 JBossCache/src/org/jboss/cache/buddyreplication/BuddyManager.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: BuddyManager.java
===================================================================
RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/buddyreplication/BuddyManager.java,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -b -r1.81 -r1.82
--- BuddyManager.java 11 Jun 2007 13:10:15 -0000 1.81
+++ BuddyManager.java 20 Jun 2007 01:18:10 -0000 1.82
@@ -11,6 +11,7 @@
import org.jboss.cache.AbstractCacheListener;
import org.jboss.cache.CacheException;
import org.jboss.cache.CacheImpl;
+import org.jboss.cache.CacheListener;
import org.jboss.cache.Fqn;
import org.jboss.cache.Region;
import org.jboss.cache.config.BuddyReplicationConfig;
@@ -127,6 +128,8 @@
// threads to exit gracefully when the BuddyManager has been stopped.
private static final MembershipChange STOP_NOTIFIER = new MembershipChange(null, null);
+ private CacheListener viewChangeListener; // the view-change viewChangeListener
+
public BuddyManager(BuddyReplicationConfig config)
{
this.config = config;
@@ -191,6 +194,8 @@
*/
public void stop()
{
+ // unregister the viewChangeListener
+ cache.removeCacheListener(viewChangeListener);
try
{
queue.clear();
@@ -221,7 +226,7 @@
initialisationLatch.countDown();
// register a CacheImpl Listener to reassign buddies as and when view changes occur
- cache.addCacheListener(new AbstractCacheListener()
+ viewChangeListener = new AbstractCacheListener()
{
private Vector<Address> oldMembers;
@@ -244,7 +249,8 @@
oldMembers.addAll(newMembers);
}
}
- });
+ };
+ cache.addCacheListener(viewChangeListener);
// assign buddies based on what we know now
reassignBuddies(cache.getMembers());
@@ -271,7 +277,7 @@
return config.getBuddyCommunicationTimeout();
}
- // -------------- methods to be called by the tree cache listener --------------------
+ // -------------- methods to be called by the tree cache viewChangeListener --------------------
static class MembershipChange
{
More information about the jboss-cvs-commits
mailing list