Repository: curator
Updated Branches:
refs/heads/CURATOR-88 8f6edd706 - ce456d2df
expiration should now be on a pre-object basis
Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/ce456d2d
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/ce456d2d
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/ce456d2d
Branch: refs/heads/CURATOR-88
Commit: ce456d2df24c9c64108d1c40e111b66a7e00e3ca
Parents: 8f6edd7
Author: randgalt randg...@apache.org
Authored: Sat Feb 15 19:39:38 2014 -0500
Committer: randgalt randg...@apache.org
Committed: Sat Feb 15 19:39:38 2014 -0500
--
.../curator/x/rest/CuratorRestContext.java | 38 +-
.../curator/x/rest/api/ClientResource.java | 24 -
.../apache/curator/x/rest/api/Constants.java| 2 +-
.../org/apache/curator/x/rest/api/Session.java | 55 +---
4 files changed, 50 insertions(+), 69 deletions(-)
--
http://git-wip-us.apache.org/repos/asf/curator/blob/ce456d2d/curator-x-rest/src/main/java/org/apache/curator/x/rest/CuratorRestContext.java
--
diff --git
a/curator-x-rest/src/main/java/org/apache/curator/x/rest/CuratorRestContext.java
b/curator-x-rest/src/main/java/org/apache/curator/x/rest/CuratorRestContext.java
index cca2e89..a07197e 100644
---
a/curator-x-rest/src/main/java/org/apache/curator/x/rest/CuratorRestContext.java
+++
b/curator-x-rest/src/main/java/org/apache/curator/x/rest/CuratorRestContext.java
@@ -20,14 +20,10 @@ package org.apache.curator.x.rest;
import com.google.common.base.Preconditions;
import org.apache.curator.framework.CuratorFramework;
-import org.apache.curator.framework.state.ConnectionState;
-import org.apache.curator.framework.state.ConnectionStateListener;
import org.apache.curator.utils.ThreadUtils;
import org.apache.curator.x.rest.api.Session;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.ObjectWriter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.io.Closeable;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@@ -35,7 +31,6 @@ import java.util.concurrent.atomic.AtomicReference;
public class CuratorRestContext implements Closeable
{
-private final Logger log = LoggerFactory.getLogger(getClass());
private final Session session = new Session();
private final ObjectMapper mapper = new ObjectMapper();
private final ObjectWriter writer = mapper.writer();
@@ -43,17 +38,6 @@ public class CuratorRestContext implements Closeable
private final int sessionLengthMs;
private final AtomicReferenceState state = new
AtomicReferenceState(State.LATENT);
private final ScheduledExecutorService executorService =
ThreadUtils.newSingleThreadScheduledExecutor(CuratorRestContext);
-private final ConnectionStateListener connectionStateListener = new
ConnectionStateListener()
-{
-@Override
-public void stateChanged(CuratorFramework client, ConnectionState
newState)
-{
-if ( newState == ConnectionState.LOST )
-{
-handleLostConnection();
-}
-}
-};
private enum State
{
@@ -77,7 +61,6 @@ public class CuratorRestContext implements Closeable
public Session getSession()
{
Preconditions.checkState(state.get() == State.STARTED, Not started);
-session.updateLastUse();
return session;
}
@@ -85,35 +68,22 @@ public class CuratorRestContext implements Closeable
{
Preconditions.checkState(state.compareAndSet(State.LATENT,
State.STARTED), Already started);
-
client.getConnectionStateListenable().addListener(connectionStateListener);
-
Runnable runner = new Runnable()
{
@Override
public void run()
{
-checkSession();
+session.checkExpiredThings(sessionLengthMs);
}
};
executorService.scheduleAtFixedRate(runner, sessionLengthMs,
sessionLengthMs, TimeUnit.MILLISECONDS);
}
-private void checkSession()
-{
-long elapsedSinceLastUse = System.currentTimeMillis() -
session.getLastUseMs();
-if ( elapsedSinceLastUse sessionLengthMs )
-{
-log.warn(Session has expired. Closing all open recipes.
Milliseconds since last ping: + elapsedSinceLastUse);
-session.closeThings();
-}
-}
-
@Override
public void close()
{
if ( state.compareAndSet(State.STARTED, State.CLOSED) )
{
-
client.getConnectionStateListenable().removeListener(connectionStateListener);
executorService.shutdownNow();