From a8394a9cc41bcda3bfe38978700b1ee474a38942 Mon Sep 17 00:00:00 2001 From: fhanik Date: Wed, 13 Jun 2007 17:05:14 +0000 Subject: [PATCH] fix for BZ 42650 http://issues.apache.org/bugzilla/show_bug.cgi?id=42650 git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@546958 13f79535-47bb-0310-9956-ffa450edef68 --- .../tribes/transport/nio/PooledParallelSender.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) 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); + } } } -- 2.11.0