Author: fhanik
Date: Mon Jan 7 13:11:26 2008
New Revision: 609778
URL: http://svn.apache.org/viewvc?rev=609778&view=rev
Log:
minor fixes
Modified:
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/ThroughputInterceptor.java
tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java
Modified:
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/ThroughputInterceptor.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/ThroughputInterceptor.java?rev=609778&r1=609777&r2=609778&view=diff
==============================================================================
---
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/ThroughputInterceptor.java
(original)
+++
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/ThroughputInterceptor.java
Mon Jan 7 13:11:26 2008
@@ -16,6 +16,10 @@
package org.apache.catalina.tribes.group.interceptors;
+import java.text.DecimalFormat;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
+
import org.apache.catalina.tribes.ChannelException;
import org.apache.catalina.tribes.ChannelMessage;
import org.apache.catalina.tribes.Member;
@@ -23,10 +27,6 @@
import org.apache.catalina.tribes.group.InterceptorPayload;
import org.apache.catalina.tribes.io.ChannelData;
import org.apache.catalina.tribes.io.XByteBuffer;
-import java.text.DecimalFormat;
-import org.apache.catalina.tribes.membership.MemberImpl;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.atomic.AtomicLong;
@@ -61,7 +61,7 @@
super.sendMessage(destination, msg, payload);
}catch ( ChannelException x ) {
msgTxErr.addAndGet(1);
- access.addAndGet(-1);
+ if ( access.get() == 1 ) access.addAndGet(-1);
throw x;
}
mbTx += ((double)(bytes*destination.length))/(1024d*1024d);
@@ -115,6 +115,46 @@
public int getInterval() {
return interval;
+ }
+
+ public double getLastCnt() {
+ return lastCnt;
+ }
+
+ public double getMbAppTx() {
+ return mbAppTx;
+ }
+
+ public double getMbRx() {
+ return mbRx;
+ }
+
+ public double getMbTx() {
+ return mbTx;
+ }
+
+ public AtomicLong getMsgRxCnt() {
+ return msgRxCnt;
+ }
+
+ public AtomicLong getMsgTxCnt() {
+ return msgTxCnt;
+ }
+
+ public AtomicLong getMsgTxErr() {
+ return msgTxErr;
+ }
+
+ public long getRxStart() {
+ return rxStart;
+ }
+
+ public double getTimeTx() {
+ return timeTx;
+ }
+
+ public long getTxStart() {
+ return txStart;
}
}
Modified:
tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java?rev=609778&r1=609777&r2=609778&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java
(original)
+++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java
Mon Jan 7 13:11:26 2008
@@ -37,6 +37,7 @@
import java.util.LinkedList;
import java.util.Set;
import java.nio.channels.CancelledKeyException;
+import java.nio.channels.ClosedSelectorException;
/**
* @author Filip Hanik
@@ -303,8 +304,7 @@
}
serverChannel.close();
- if (selector != null)
- selector.close();
+ closeSelector();
}
@@ -319,13 +319,34 @@
if (selector != null) {
try {
selector.wakeup();
- selector.close();
+ closeSelector();
} catch (Exception x) {
log.error("Unable to close cluster receiver selector.", x);
} finally {
selector = null;
}
}
+ }
+
+ private void closeSelector() throws IOException {
+ Selector selector = this.selector;
+ this.selector = null;
+ if (selector==null) return;
+ try {
+ Iterator it = selector.keys().iterator();
+ // look at each key in the selected set
+ while (it.hasNext()) {
+ SelectionKey key = (SelectionKey)it.next();
+ key.channel().close();
+ key.attach(null);
+ key.cancel();
+ }
+ }catch ( IOException ignore ){
+ if (log.isWarnEnabled()) {
+ log.warn("Unable to cleanup on selector close.",ignore);
+ }
+ }catch ( ClosedSelectorException ignore){}
+ selector.close();
}
// ----------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]