You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by fh...@apache.org on 2006/05/19 20:17:31 UTC
svn commit: r407875 -
/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java
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: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org