You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2009/09/30 05:08:59 UTC
svn commit: r820160 - in
/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms:
JMSConfiguration.java continuations/JMSContinuation.java
Author: dkulp
Date: Wed Sep 30 03:08:58 2009
New Revision: 820160
URL: http://svn.apache.org/viewvc?rev=820160&view=rev
Log:
[CXF-2391] Re-implement as a percent of the max to simplify
Modified:
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/continuations/JMSContinuation.java
Modified: cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java?rev=820160&r1=820159&r2=820160&view=diff
==============================================================================
--- cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java (original)
+++ cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java Wed Sep 30 03:08:58 2009
@@ -70,7 +70,7 @@
private int maxConcurrentConsumers = 1;
private int maxConcurrentTasks = 10;
private int maxSuspendedContinuations = DEFAULT_VALUE;
- private int reconnectSuspendedContinuations = DEFAULT_VALUE;
+ private int reconnectPercentOfMax = 70;
private volatile String messageSelector;
private boolean subscriptionDurable;
@@ -348,12 +348,12 @@
this.maxSuspendedContinuations = maxSuspendedContinuations;
}
- public int getReconnectSuspendedContinuations() {
- return reconnectSuspendedContinuations;
+ public int getReconnectPercentOfMax() {
+ return reconnectPercentOfMax;
}
- public void setReconnectSuspendedContinuations(int reconnectSuspendedContinuations) {
- this.reconnectSuspendedContinuations = reconnectSuspendedContinuations;
+ public void setReconnectPercentOfMax(int reconnectPercentOfMax) {
+ this.reconnectPercentOfMax = reconnectPercentOfMax;
}
public TaskExecutor getTaskExecutor() {
Modified: cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/continuations/JMSContinuation.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/continuations/JMSContinuation.java?rev=820160&r1=820159&r2=820160&view=diff
==============================================================================
--- cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/continuations/JMSContinuation.java (original)
+++ cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/continuations/JMSContinuation.java Wed Sep 30 03:08:58 2009
@@ -164,10 +164,16 @@
modifyList(remove);
if (continuations.size() >= jmsConfig.getMaxSuspendedContinuations()) {
jmsListener.stop();
- } else if (!jmsListener.isRunning()
- && (jmsConfig.getReconnectSuspendedContinuations() < 0
- || continuations.size() <= jmsConfig.getReconnectSuspendedContinuations())) {
- jmsListener.start();
+ } else if (!jmsListener.isRunning()) {
+ int limit = jmsConfig.getReconnectPercentOfMax();
+ if (limit < 0 || limit > 100) {
+ limit = 70;
+ }
+ limit = (limit * jmsConfig.getReconnectPercentOfMax()) / 100;
+
+ if (continuations.size() <= limit) {
+ jmsListener.start();
+ }
}
}