luehe 2004/01/27 09:59:27 Modified: coyote/src/java/org/apache/coyote RequestGroupInfo.java Log: Avoid java.util.ConcurrentModificationException seen with very high load. It seems synchronization has become necessary since the addition of the removeRequestProcessor() method. Revision Changes Path 1.3 +14 -14 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/RequestGroupInfo.java Index: RequestGroupInfo.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/RequestGroupInfo.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- RequestGroupInfo.java 15 Jan 2004 13:16:49 -0000 1.2 +++ RequestGroupInfo.java 27 Jan 2004 17:59:27 -0000 1.3 @@ -9,15 +9,15 @@ public class RequestGroupInfo { ArrayList processors=new ArrayList(); - public void addRequestProcessor( RequestInfo rp ) { + public synchronized void addRequestProcessor( RequestInfo rp ) { processors.add( rp ); } - public void removeRequestProcessor( RequestInfo rp ) { + public synchronized void removeRequestProcessor( RequestInfo rp ) { processors.remove( rp ); } - public long getMaxTime() { + public synchronized long getMaxTime() { long maxTime=0; for( int i=0; i<processors.size(); i++ ) { RequestInfo rp=(RequestInfo)processors.get( i ); @@ -27,14 +27,14 @@ } // Used to reset the times - public void setMaxTime(long maxTime) { + public synchronized void setMaxTime(long maxTime) { for( int i=0; i<processors.size(); i++ ) { RequestInfo rp=(RequestInfo)processors.get( i ); rp.setMaxTime(maxTime); } } - public long getProcessingTime() { + public synchronized long getProcessingTime() { long time=0; for( int i=0; i<processors.size(); i++ ) { RequestInfo rp=(RequestInfo)processors.get( i ); @@ -43,14 +43,14 @@ return time; } - public void setProcessingTime(long totalTime) { + public synchronized void setProcessingTime(long totalTime) { for( int i=0; i<processors.size(); i++ ) { RequestInfo rp=(RequestInfo)processors.get( i ); rp.setProcessingTime( totalTime ); } } - public int getRequestCount() { + public synchronized int getRequestCount() { int requestCount=0; for( int i=0; i<processors.size(); i++ ) { RequestInfo rp=(RequestInfo)processors.get( i ); @@ -59,14 +59,14 @@ return requestCount; } - public void setRequestCount(int requestCount) { + public synchronized void setRequestCount(int requestCount) { for( int i=0; i<processors.size(); i++ ) { RequestInfo rp=(RequestInfo)processors.get( i ); rp.setRequestCount( requestCount ); } } - public int getErrorCount() { + public synchronized int getErrorCount() { int requestCount=0; for( int i=0; i<processors.size(); i++ ) { RequestInfo rp=(RequestInfo)processors.get( i ); @@ -75,14 +75,14 @@ return requestCount; } - public void setErrorCount(int errorCount) { + public synchronized void setErrorCount(int errorCount) { for( int i=0; i<processors.size(); i++ ) { RequestInfo rp=(RequestInfo)processors.get( i ); rp.setErrorCount( errorCount); } } - public long getBytesReceived() { + public synchronized long getBytesReceived() { long bytes=0; for( int i=0; i<processors.size(); i++ ) { RequestInfo rp=(RequestInfo)processors.get( i ); @@ -91,14 +91,14 @@ return bytes; } - public void setBytesReceived(long bytesReceived) { + public synchronized void setBytesReceived(long bytesReceived) { for( int i=0; i<processors.size(); i++ ) { RequestInfo rp=(RequestInfo)processors.get( i ); rp.setBytesReceived( bytesReceived ); } } - public long getBytesSent() { + public synchronized long getBytesSent() { long bytes=0; for( int i=0; i<processors.size(); i++ ) { RequestInfo rp=(RequestInfo)processors.get( i ); @@ -107,7 +107,7 @@ return bytes; } - public void setBytesSent(long bytesSent) { + public synchronized void setBytesSent(long bytesSent) { for( int i=0; i<processors.size(); i++ ) { RequestInfo rp=(RequestInfo)processors.get( i ); rp.setBytesSent( bytesSent );
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]