From: fhanik Date: Wed, 25 Apr 2007 16:16:37 +0000 (+0000) Subject: Fix error handling when a single failure occurs X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=252c2c18e399a69b713b875e8796b8c5a2f18994;p=tomcat7.0 Fix error handling when a single failure occurs git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@532400 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/tribes/ChannelException.java b/java/org/apache/catalina/tribes/ChannelException.java index 8519daafb..c1fd907c6 100644 --- a/java/org/apache/catalina/tribes/ChannelException.java +++ b/java/org/apache/catalina/tribes/ChannelException.java @@ -31,6 +31,10 @@ import java.util.ArrayList; */ public class ChannelException extends Exception { + /** + * Empty list to avoid reinstatiating lists + */ + protected static final FaultyMember[] EMPTY_LIST = new FaultyMember[0]; /* * Holds a list of faulty members */ @@ -96,27 +100,30 @@ public class ChannelException extends Exception { * @param mbr Member * @param x Exception */ - public void addFaultyMember(Member mbr, Exception x ) { - addFaultyMember(new FaultyMember(mbr,x)); + public boolean addFaultyMember(Member mbr, Exception x ) { + return addFaultyMember(new FaultyMember(mbr,x)); } /** * Adds a list of faulty members * @param mbrs FaultyMember[] */ - public void addFaultyMember(FaultyMember[] mbrs) { + public int addFaultyMember(FaultyMember[] mbrs) { + int result = 0; for (int i=0; mbrs!=null && i 0 ) { //timeout has occured - cx = new ChannelException("Operation has timed out("+getTimeout()+" ms.)."); + ChannelException cxtimeout = new ChannelException("Operation has timed out("+getTimeout()+" ms.)."); + if ( cx==null ) cx = new ChannelException("Operation has timed out("+getTimeout()+" ms.)."); for (int i=0; i