Author: azeez Date: Fri Mar 2 11:47:29 2012 New Revision: 1296158 URL: http://svn.apache.org/viewvc?rev=1296158&view=rev Log: Merging Member suspension functionality into 1_6 branch from trunk
Modified: axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/clustering/Member.java Modified: axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/clustering/Member.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/clustering/Member.java?rev=1296158&r1=1296157&r2=1296158&view=diff ============================================================================== --- axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/clustering/Member.java (original) +++ axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/clustering/Member.java Fri Mar 2 11:47:29 2012 @@ -57,11 +57,46 @@ public class Member { */ private Properties properties = new Properties(); + /** + * Time at which this member was suspended + */ + private long suspendedTime = -1; + + /** + * Time in millis which this member should be suspended + */ + private long suspensionDuration = -1; + public Member(String hostName, int port) { this.hostName = hostName; this.port = port; } + /** + * Temporarilly suspend this member + * @param suspensionDurationMillis The time duration in millis in which this member should be suspended + */ + public void suspend(long suspensionDurationMillis){ + this.suspendedTime = System.currentTimeMillis(); + this.suspensionDuration = suspensionDurationMillis; + } + + /** + * Check whether this member is suspended + * @return true if this member is still suspended, false oterwise + */ + public boolean isSuspended() { + if (suspendedTime == -1) { + return false; + } + if (System.currentTimeMillis() - suspendedTime >= suspensionDuration) { + this.suspendedTime = -1; + this.suspensionDuration = -1; + return false; + } + return true; + } + public String getHostName() { return hostName; }