You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@curator.apache.org by dr...@apache.org on 2015/08/19 01:18:43 UTC
[27/31] curator git commit: Use WatcherRemoveCuratorFramework in a
few more places
Use WatcherRemoveCuratorFramework in a few more places
Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/a95d52e5
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/a95d52e5
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/a95d52e5
Branch: refs/heads/CURATOR-3.0
Commit: a95d52e53ef0fc63468eb1fc257869c82bd3dc4e
Parents: eba6ce8
Author: randgalt <ra...@apache.org>
Authored: Tue May 19 20:01:26 2015 -0700
Committer: randgalt <ra...@apache.org>
Committed: Tue May 19 20:01:26 2015 -0700
----------------------------------------------------------------------
.../apache/curator/framework/recipes/leader/LeaderLatch.java | 6 ++++--
.../framework/recipes/nodes/PersistentEphemeralNode.java | 6 ++++--
.../apache/curator/framework/recipes/queue/ChildrenCache.java | 6 ++++--
.../apache/curator/framework/recipes/shared/SharedValue.java | 6 ++++--
4 files changed, 16 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/curator/blob/a95d52e5/curator-recipes/src/main/java/org/apache/curator/framework/recipes/leader/LeaderLatch.java
----------------------------------------------------------------------
diff --git a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/leader/LeaderLatch.java b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/leader/LeaderLatch.java
index 40d92e4..8d2d0f0 100644
--- a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/leader/LeaderLatch.java
+++ b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/leader/LeaderLatch.java
@@ -23,6 +23,7 @@ import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Function;
import com.google.common.base.Preconditions;
import org.apache.curator.framework.CuratorFramework;
+import org.apache.curator.framework.WatcherRemoveCuratorFramework;
import org.apache.curator.framework.api.BackgroundCallback;
import org.apache.curator.framework.api.CuratorEvent;
import org.apache.curator.framework.listen.ListenerContainer;
@@ -63,7 +64,7 @@ import org.apache.curator.utils.PathUtils;
public class LeaderLatch implements Closeable
{
private final Logger log = LoggerFactory.getLogger(getClass());
- private final CuratorFramework client;
+ private final WatcherRemoveCuratorFramework client;
private final String latchPath;
private final String id;
private final AtomicReference<State> state = new AtomicReference<State>(State.LATENT);
@@ -143,7 +144,7 @@ public class LeaderLatch implements Closeable
*/
public LeaderLatch(CuratorFramework client, String latchPath, String id, CloseMode closeMode)
{
- this.client = Preconditions.checkNotNull(client, "client cannot be null");
+ this.client = Preconditions.checkNotNull(client, "client cannot be null").newWatcherRemoveCuratorFramework();
this.latchPath = PathUtils.validatePath(latchPath);
this.id = Preconditions.checkNotNull(id, "id cannot be null");
this.closeMode = Preconditions.checkNotNull(closeMode, "closeMode cannot be null");
@@ -206,6 +207,7 @@ public class LeaderLatch implements Closeable
try
{
setNode(null);
+ client.removeWatchers();
}
catch ( Exception e )
{
http://git-wip-us.apache.org/repos/asf/curator/blob/a95d52e5/curator-recipes/src/main/java/org/apache/curator/framework/recipes/nodes/PersistentEphemeralNode.java
----------------------------------------------------------------------
diff --git a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/nodes/PersistentEphemeralNode.java b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/nodes/PersistentEphemeralNode.java
index d78573c..3bad8e3 100644
--- a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/nodes/PersistentEphemeralNode.java
+++ b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/nodes/PersistentEphemeralNode.java
@@ -21,6 +21,7 @@ package org.apache.curator.framework.recipes.nodes;
import com.google.common.base.Preconditions;
import org.apache.curator.framework.CuratorFramework;
+import org.apache.curator.framework.WatcherRemoveCuratorFramework;
import org.apache.curator.framework.api.ACLBackgroundPathAndBytesable;
import org.apache.curator.framework.api.BackgroundCallback;
import org.apache.curator.framework.api.CreateModable;
@@ -54,7 +55,7 @@ public class PersistentEphemeralNode implements Closeable
{
private final AtomicReference<CountDownLatch> initialCreateLatch = new AtomicReference<CountDownLatch>(new CountDownLatch(1));
private final Logger log = LoggerFactory.getLogger(getClass());
- private final CuratorFramework client;
+ private final WatcherRemoveCuratorFramework client;
private final CreateModable<ACLBackgroundPathAndBytesable<String>> createMethod;
private final AtomicReference<String> nodePath = new AtomicReference<String>(null);
private final String basePath;
@@ -190,7 +191,7 @@ public class PersistentEphemeralNode implements Closeable
*/
public PersistentEphemeralNode(CuratorFramework client, Mode mode, String basePath, byte[] data)
{
- this.client = Preconditions.checkNotNull(client, "client cannot be null");
+ this.client = Preconditions.checkNotNull(client, "client cannot be null").newWatcherRemoveCuratorFramework();
this.basePath = PathUtils.validatePath(basePath);
this.mode = Preconditions.checkNotNull(mode, "mode cannot be null");
data = Preconditions.checkNotNull(data, "data cannot be null");
@@ -268,6 +269,7 @@ public class PersistentEphemeralNode implements Closeable
return;
}
+ client.removeWatchers();
client.getConnectionStateListenable().removeListener(connectionStateListener);
try
http://git-wip-us.apache.org/repos/asf/curator/blob/a95d52e5/curator-recipes/src/main/java/org/apache/curator/framework/recipes/queue/ChildrenCache.java
----------------------------------------------------------------------
diff --git a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/queue/ChildrenCache.java b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/queue/ChildrenCache.java
index 032dc7a..e5c7e8c 100644
--- a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/queue/ChildrenCache.java
+++ b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/queue/ChildrenCache.java
@@ -21,6 +21,7 @@ package org.apache.curator.framework.recipes.queue;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import org.apache.curator.framework.CuratorFramework;
+import org.apache.curator.framework.WatcherRemoveCuratorFramework;
import org.apache.curator.framework.api.BackgroundCallback;
import org.apache.curator.framework.api.CuratorEvent;
import org.apache.curator.framework.api.CuratorWatcher;
@@ -36,7 +37,7 @@ import org.apache.curator.utils.PathUtils;
class ChildrenCache implements Closeable
{
- private final CuratorFramework client;
+ private final WatcherRemoveCuratorFramework client;
private final String path;
private final AtomicReference<Data> children = new AtomicReference<Data>(new Data(Lists.<String>newArrayList(), 0));
private final AtomicBoolean isClosed = new AtomicBoolean(false);
@@ -79,7 +80,7 @@ class ChildrenCache implements Closeable
ChildrenCache(CuratorFramework client, String path)
{
- this.client = client;
+ this.client = client.newWatcherRemoveCuratorFramework();
this.path = PathUtils.validatePath(path);
}
@@ -91,6 +92,7 @@ class ChildrenCache implements Closeable
@Override
public void close() throws IOException
{
+ client.removeWatchers();
isClosed.set(true);
notifyFromCallback();
}
http://git-wip-us.apache.org/repos/asf/curator/blob/a95d52e5/curator-recipes/src/main/java/org/apache/curator/framework/recipes/shared/SharedValue.java
----------------------------------------------------------------------
diff --git a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/shared/SharedValue.java b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/shared/SharedValue.java
index 6ca53ec..7e7ad56 100644
--- a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/shared/SharedValue.java
+++ b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/shared/SharedValue.java
@@ -22,6 +22,7 @@ package org.apache.curator.framework.recipes.shared;
import com.google.common.base.Function;
import com.google.common.base.Preconditions;
import org.apache.curator.framework.CuratorFramework;
+import org.apache.curator.framework.WatcherRemoveCuratorFramework;
import org.apache.curator.framework.api.CuratorWatcher;
import org.apache.curator.framework.listen.ListenerContainer;
import org.apache.curator.framework.state.ConnectionState;
@@ -45,7 +46,7 @@ public class SharedValue implements Closeable, SharedValueReader
{
private final Logger log = LoggerFactory.getLogger(getClass());
private final ListenerContainer<SharedValueListener> listeners = new ListenerContainer<SharedValueListener>();
- private final CuratorFramework client;
+ private final WatcherRemoveCuratorFramework client;
private final String path;
private final byte[] seedValue;
private final AtomicReference<State> state = new AtomicReference<State>(State.LATENT);
@@ -87,7 +88,7 @@ public class SharedValue implements Closeable, SharedValueReader
*/
public SharedValue(CuratorFramework client, String path, byte[] seedValue)
{
- this.client = client;
+ this.client = client.newWatcherRemoveCuratorFramework();
this.path = PathUtils.validatePath(path);
this.seedValue = Arrays.copyOf(seedValue, seedValue.length);
currentValue = new AtomicReference<VersionedValue<byte[]>>(new VersionedValue<byte[]>(0, Arrays.copyOf(seedValue, seedValue.length)));
@@ -233,6 +234,7 @@ public class SharedValue implements Closeable, SharedValueReader
@Override
public void close() throws IOException
{
+ client.removeWatchers();
client.getConnectionStateListenable().removeListener(connectionStateListener);
state.set(State.CLOSED);
listeners.clear();