Author: fhanik Date: Fri May 19 11:17:31 2006 New Revision: 407875 URL: http://svn.apache.org/viewvc?rev=407875&view=rev Log: Added in resource cleanup
Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java?rev=407875&r1=407874&r2=407875&view=diff ============================================================================== --- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java (original) +++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java Fri May 19 11:17:31 2006 @@ -25,6 +25,7 @@ import org.apache.catalina.tribes.util.UUIDGenerator; import org.apache.catalina.tribes.util.Arrays; import org.apache.catalina.tribes.UniqueId; +import java.util.Map; /** * <p>Title: </p> @@ -101,6 +102,24 @@ public void setExpire(long expire) { this.expire = expire; + } + + public void heartbeat() { + try { + long now = System.currentTimeMillis(); + Map.Entry[] entries = (Map.Entry[])messages.entrySet().toArray(new Map.Entry[messages.size()]); + for (int i=0; i<entries.length; i++ ) { + MapEntry entry = (MapEntry)entries[i].getValue(); + if ( entry.expired(now,expire) ) { + log.info("Message ["+entry.id+"] has expired. Removing."); + messages.remove(entry.id); + }//end if + } + } catch ( Exception x ) { + log.warn("Unable to perform heartbeat on the TwoPhaseCommit interceptor.",x); + } finally { + super.heartbeat(); + } } public static class MapEntry { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]