Author: kfujino Date: Mon Jun 3 07:45:00 2013 New Revision: 1488877 URL: http://svn.apache.org/r1488877 Log: Merge r1488871 and r1488876. -Add maxWait attribute that the senderPool will wait when there are no available senders. -Improve error message by including specified timeout if failed to retrieve a data sender.
Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml tomcat/tc7.0.x/trunk/webapps/docs/config/cluster-sender.xml Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java?rev=1488877&r1=1488876&r2=1488877&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java Mon Jun 3 07:45:00 2013 @@ -42,6 +42,7 @@ public abstract class PooledSender exten private SenderQueue queue = null; private int poolSize = 25; + private long maxWait = 3000; public PooledSender() { queue = new SenderQueue(this,poolSize); } @@ -49,7 +50,7 @@ public abstract class PooledSender exten public abstract DataSender getNewDataSender(); public DataSender getSender() { - return queue.getSender(getTimeout()); + return queue.getSender(getMaxWait()); } public void returnSender(DataSender sender) { @@ -89,6 +90,14 @@ public abstract class PooledSender exten return poolSize; } + public long getMaxWait() { + return maxWait; + } + + public void setMaxWait(long maxWait) { + this.maxWait = maxWait; + } + @Override public boolean keepalive() { //do nothing, the pool checks on every return Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java?rev=1488877&r1=1488876&r2=1488877&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java Mon Jun 3 07:45:00 2013 @@ -47,7 +47,7 @@ public class PooledMultiSender extends P try { sender = (MultiPointSender)getSender(); if (sender == null) { - ChannelException cx = new ChannelException("Unable to retrieve a data sender, time out error."); + ChannelException cx = new ChannelException("Unable to retrieve a data sender, time out("+getMaxWait()+" ms) 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 { Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java?rev=1488877&r1=1488876&r2=1488877&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java Mon Jun 3 07:45:00 2013 @@ -46,7 +46,7 @@ public class PooledParallelSender extend if ( !connected ) throw new ChannelException("Sender not connected."); ParallelNioSender sender = (ParallelNioSender)getSender(); if (sender == null) { - ChannelException cx = new ChannelException("Unable to retrieve a data sender, time out error."); + ChannelException cx = new ChannelException("Unable to retrieve a data sender, time out("+getMaxWait()+" ms) 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 { Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1488877&r1=1488876&r2=1488877&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Mon Jun 3 07:45:00 2013 @@ -153,6 +153,14 @@ cluster instance from container on every request, use instance variable. (kfujino) </scode> + <add> + Add <code>maxWait</code> attribute that the senderPool will wait when + there are no available senders. (kfujino) + </add> + <add> + Improve error message by including specified timeout if failed to + retrieve a data sender. (kfujino) + </add> </changelog> </subsection> <subsection name="Web applications"> Modified: tomcat/tc7.0.x/trunk/webapps/docs/config/cluster-sender.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/config/cluster-sender.xml?rev=1488877&r1=1488876&r2=1488877&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/webapps/docs/config/cluster-sender.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/config/cluster-sender.xml Mon Jun 3 07:45:00 2013 @@ -162,14 +162,18 @@ </attribute> </attributes> </subsection> - <subsection name="PooledParallelSender Attributes"> + <subsection name="Common PooledSender Attributes"> <attributes> <attribute name="poolSize" required="false"> The maximum number of concurrent connections from A to B. The value is based on a per-destination count. The default value is <code>25</code> </attribute> - + <attribute name="maxWait" required="false"> + The maximum number of milliseconds that the senderPool will wait when + there are no available senders. The default value is <code>3000</code> + milliseconds.(3 seconds). + </attribute> </attributes> </subsection> </section> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org