[jboss-remoting-commits] JBoss Remoting SVN: r6220 - remoting2/branches/2.x/src/main/org/jboss/remoting.
jboss-remoting-commits at lists.jboss.org
jboss-remoting-commits at lists.jboss.org
Tue Jan 25 23:16:49 EST 2011
Author: ron.sigal at jboss.com
Date: 2011-01-25 23:16:48 -0500 (Tue, 25 Jan 2011)
New Revision: 6220
Modified:
remoting2/branches/2.x/src/main/org/jboss/remoting/Lease.java
remoting2/branches/2.x/src/main/org/jboss/remoting/ServerInvoker.java
Log:
JBREM-1144: Adding a unique id to Lease.
Modified: remoting2/branches/2.x/src/main/org/jboss/remoting/Lease.java
===================================================================
--- remoting2/branches/2.x/src/main/org/jboss/remoting/Lease.java 2011-01-25 03:52:17 UTC (rev 6219)
+++ remoting2/branches/2.x/src/main/org/jboss/remoting/Lease.java 2011-01-26 04:16:48 UTC (rev 6220)
@@ -23,6 +23,7 @@
import org.jboss.logging.Logger;
import org.jboss.remoting.util.TimerUtil;
+import org.jboss.util.id.GUID;
import java.util.Collection;
import java.util.HashMap;
@@ -59,6 +60,9 @@
private static final Logger log = Logger.getLogger(Lease.class);
private static final boolean isTraceEnabled = log.isTraceEnabled();
+
+ /** Used by ConnectionValidator to detect a change of server. **/
+ protected String leaseId = new GUID().toString();
public Lease(String clientSessionId, long leasePeriod, String locatorurl, Map requestPayload,
ConnectionNotifier notifier, Map clientLeases)
@@ -355,6 +359,11 @@
{
return leasePingerId;
}
+
+ protected String getLeaseId()
+ {
+ return leaseId;
+ }
private void stopLease()
{
Modified: remoting2/branches/2.x/src/main/org/jboss/remoting/ServerInvoker.java
===================================================================
--- remoting2/branches/2.x/src/main/org/jboss/remoting/ServerInvoker.java 2011-01-25 03:52:17 UTC (rev 6219)
+++ remoting2/branches/2.x/src/main/org/jboss/remoting/ServerInvoker.java 2011-01-26 04:16:48 UTC (rev 6220)
@@ -861,19 +861,20 @@
if (invokerSessionId != null)
{
// Comes from ConnectionValidator configured to tie validation with lease.
- boolean response = checkForClientLease(invokerSessionId);
- if (trace) log.trace(this + " responding " + response + " to $PING$ for invoker sessionId " + invokerSessionId);
+ String leaseId = checkForClientLease(invokerSessionId);
+ Boolean success = leaseId == null ? Boolean.FALSE : Boolean.TRUE;
+ if (trace) log.trace(this + " responding " + leaseId + " to $PING$ for invoker sessionId " + invokerSessionId);
if (metadata.get(Remoting.USE_SERVER_CONNECTION_IDENTITY) != null)
{
Map responseMap = new HashMap();
responseMap.put(Remoting.SERVER_ID, serverId);
- if (trace) log.trace(this + " returning serverId: " + serverId);
- return new InvocationResponse(invocation.getSessionId(), new Boolean(response), false, responseMap);
+ if (trace) log.trace(this + " returning leaseId: " + leaseId);
+ return new InvocationResponse(invocation.getSessionId(), success, false, responseMap);
}
else
{
- if (trace) log.trace(this + " not returning serverId: " + serverId);
- return new Boolean(response);
+ if (trace) log.trace(this + " not returning leaseId: " + leaseId);
+ return success;
}
}
else
@@ -2123,7 +2124,7 @@
}
}
- private boolean checkForClientLease(String invokerSessionId)
+ private String checkForClientLease(String invokerSessionId)
{
if(leaseManagement && invokerSessionId != null)
{
@@ -2133,16 +2134,16 @@
if(clientLease == null)
{
if(trace) { log.trace("No lease established for invoker session id (" + invokerSessionId + ")"); }
- return false;
+ return null;
}
else
{
if(trace) { log.trace("Found lease for invoker session id (" + invokerSessionId + ")"); }
- return true;
+ return clientLease.getLeaseId();
}
}
- return false;
+ return null;
}
/**
More information about the jboss-remoting-commits
mailing list