From: fhanik Date: Wed, 13 Jun 2007 17:07:06 +0000 (+0000) Subject: fix for BZ 42650 X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=6335ac7953325d4922c6b8300f767459cd0caba8;p=tomcat7.0 fix for BZ 42650 http://issues.apache.org/bugzilla/show_bug.cgi?id=42650 git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@546959 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java b/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java index dc168b8c7..1ec9e3611 100644 --- a/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java +++ b/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java @@ -44,12 +44,18 @@ public class PooledParallelSender extends PooledSender implements MultiPointSend public void sendMessage(Member[] destination, ChannelMessage message) throws ChannelException { if ( !connected ) throw new ChannelException("Sender not connected."); ParallelNioSender sender = (ParallelNioSender)getSender(); - try { - sender.sendMessage(destination, message); - sender.keepalive(); - }finally { - if ( !connected ) disconnect(); - returnSender(sender); + if (sender == null) { + ChannelException cx = new ChannelException("Unable to retrieve a data sender, time out error."); + for (int i = 0; i < destination.length; i++) cx.addFaultyMember(destination[i], new NullPointerException("Unable to retrieve a sender from the sender pool")); + throw cx; + } else { + try { + sender.sendMessage(destination, message); + sender.keepalive(); + } finally { + if (!connected) disconnect(); + returnSender(sender); + } } }