Right, if I set concurrentConsumers=1 and while building the route
threads(10) I do end up with a thread pool, however, these threads are used
serially.
The configuration is as follows:
final String from =
"jms:topic:esb_test_topic?concurrentConsumers=1";
final String to = "bean:jmsTopicListener?method=process";
RouteBuilder builder = new RouteBuilder(camelCtx_) {
@Override
public void configure() throws Exception {
onException(InvalidDestinationException.class,
UnknownReplyMessageException.class).process(
new CamelExceptionHandlerImpl(from, to)).stop();
from(from).threads(5).setExchangePattern(pattern).to(to);
}
};
The 'listener' bean simply prints a message on receipt, Thread.sleeps for
1sec and prints another msg with the following output: Threads are being
picked out of the pool with 1sec gaps.
public void process(Object _msg) {
log.info(String.format("Received(|->) [%1$s/%2$s]: %3$s",
df.format(new Date()), beanName_, _msg));
if (sleepTime_ > 0) {
if (_msg instanceof SampleDto) {
SampleDto dto = (SampleDto) _msg;
dto.setThreadName(Thread.currentThread().getName());
data_.add(dto);
}
try {
Thread.sleep(sleepTime_);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
log.info(String.format("Received(<-|) [%1$s/%2$s]: %3$s",
df.format(new Date()), beanName_, _msg));
}
Something in the Camel libs seems to be blocking...
2011-07-07 09:03:08,335|INFO | bus.bao.EsbSampleStandalonePublisherImpl |
send | Thread-17 | Sent [20110707
09:03:08:335]: SampleDtoImpl[data_13;thread=Thread-17]
2011-07-07 09:03:08,335|INFO | bus.bao.EsbSampleStandalonePublisherImpl |
send | Thread-6 | Sent [20110707
09:03:08:335]: SampleDtoImpl[data_2;thread=Thread-6]
2011-07-07 09:03:08,335|INFO | bus.bao.EsbSampleStandalonePublisherImpl |
send | Thread-16 | Sent [20110707
09:03:08:335]: SampleDtoImpl[data_12;thread=Thread-16]
2011-07-07 09:03:08,351|INFO | bus.bao.EsbSampleStandalonePublisherImpl |
send | Thread-5 | Sent [20110707
09:03:08:351]: SampleDtoImpl[data_1;thread=Thread-5]
2011-07-07 09:03:08,351|INFO | bus.bao.EsbSampleStandalonePublisherImpl |
send | Thread-8 | Sent [20110707
09:03:08:351]: SampleDtoImpl[data_4;thread=Thread-8]
2011-07-07 09:03:08,367|INFO | bus.bao.EsbSampleStandalonePublisherImpl |
send | Thread-14 | Sent [20110707
09:03:08:367]: SampleDtoImpl[data_10;thread=Thread-14]
2011-07-07 09:03:08,367|INFO | bus.bao.EsbSampleStandalonePublisherImpl |
send | Thread-13 | Sent [20110707
09:03:08:367]: SampleDtoImpl[data_9;thread=Thread-13]
2011-07-07 09:03:08,367|INFO | bus.bao.EsbSampleStandalonePublisherImpl |
send | Thread-18 | Sent [20110707
09:03:08:367]: SampleDtoImpl[data_14;thread=Thread-18]
2011-07-07 09:03:08,367|INFO | bus.bao.EsbSampleStandalonePublisherImpl |
send | Thread-4 | Sent [20110707
09:03:08:367]: SampleDtoImpl[data_0;thread=Thread-4]
2011-07-07 09:03:08,367|INFO | bus.bao.EsbSampleStandalonePublisherImpl |
send | Thread-10 | Sent [20110707
09:03:08:367]: SampleDtoImpl[data_6;thread=Thread-10]
2011-07-07 09:03:08,367|INFO | bus.bao.EsbSampleStandalonePublisherImpl |
send | Thread-15 | Sent [20110707
09:03:08:367]: SampleDtoImpl[data_11;thread=Thread-15]
2011-07-07 09:03:08,367|INFO | bus.bao.EsbSampleStandalonePublisherImpl |
send | Thread-9 | Sent [20110707
09:03:08:367]: SampleDtoImpl[data_5;thread=Thread-9]
2011-07-07 09:03:08,382|INFO | bus.bao.EsbSampleStandalonePublisherImpl |
send | Thread-11 | Sent [20110707
09:03:08:382]: SampleDtoImpl[data_7;thread=Thread-11]
2011-07-07 09:03:08,382|INFO | bus.bao.EsbSampleStandalonePublisherImpl |
send | Thread-12 | Sent [20110707
09:03:08:382]: SampleDtoImpl[data_8;thread=Thread-12]
2011-07-07 09:03:08,382|INFO | bus.bao.EsbSampleStandalonePublisherImpl |
send | Thread-7 | Sent [20110707
09:03:08:382]: SampleDtoImpl[data_3;thread=Thread-7]
2011-07-07 09:03:08,304|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #11 - Threads | Received(|->)
[20110707 09:03:08:304/esbTestJmsTopicListener]:
SampleDtoImpl[data_13;thread=Thread-17]
2011-07-07 09:03:09,304|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #11 - Threads | Received(<-|)
[20110707 09:03:09:304/esbTestJmsTopicListener]:
SampleDtoImpl[data_13;thread=Camel (camel-4) thread #11 - Threads]
2011-07-07 09:03:09,304|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #12 - Threads | Received(|->)
[20110707 09:03:09:304/esbTestJmsTopicListener]:
SampleDtoImpl[data_4;thread=Thread-8]
2011-07-07 09:03:10,304|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #12 - Threads | Received(<-|)
[20110707 09:03:10:304/esbTestJmsTopicListener]:
SampleDtoImpl[data_4;thread=Camel (camel-4) thread #12 - Threads]
2011-07-07 09:03:10,304|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #13 - Threads | Received(|->)
[20110707 09:03:10:304/esbTestJmsTopicListener]:
SampleDtoImpl[data_1;thread=Thread-5]
2011-07-07 09:03:11,304|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #13 - Threads | Received(<-|)
[20110707 09:03:11:304/esbTestJmsTopicListener]:
SampleDtoImpl[data_1;thread=Camel (camel-4) thread #13 - Threads]
2011-07-07 09:03:11,304|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #14 - Threads | Received(|->)
[20110707 09:03:11:304/esbTestJmsTopicListener]:
SampleDtoImpl[data_2;thread=Thread-6]
2011-07-07 09:03:12,304|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #14 - Threads | Received(<-|)
[20110707 09:03:12:304/esbTestJmsTopicListener]:
SampleDtoImpl[data_2;thread=Camel (camel-4) thread #14 - Threads]
2011-07-07 09:03:12,304|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #15 - Threads | Received(|->)
[20110707 09:03:12:304/esbTestJmsTopicListener]:
SampleDtoImpl[data_12;thread=Thread-16]
2011-07-07 09:03:13,304|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #15 - Threads | Received(<-|)
[20110707 09:03:13:304/esbTestJmsTopicListener]:
SampleDtoImpl[data_12;thread=Camel (camel-4) thread #15 - Threads]
2011-07-07 09:03:13,304|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #11 - Threads | Received(|->)
[20110707 09:03:13:304/esbTestJmsTopicListener]:
SampleDtoImpl[data_9;thread=Thread-13]
2011-07-07 09:03:14,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #11 - Threads | Received(<-|)
[20110707 09:03:14:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_9;thread=Camel (camel-4) thread #11 - Threads]
2011-07-07 09:03:14,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #12 - Threads | Received(|->)
[20110707 09:03:14:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_6;thread=Thread-10]
2011-07-07 09:03:15,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #12 - Threads | Received(<-|)
[20110707 09:03:15:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_6;thread=Camel (camel-4) thread #12 - Threads]
2011-07-07 09:03:15,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #13 - Threads | Received(|->)
[20110707 09:03:15:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_0;thread=Thread-4]
2011-07-07 09:03:16,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #13 - Threads | Received(<-|)
[20110707 09:03:16:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_0;thread=Camel (camel-4) thread #13 - Threads]
2011-07-07 09:03:16,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #13 - Threads | Received(|->)
[20110707 09:03:16:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_10;thread=Thread-14]
2011-07-07 09:03:17,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #13 - Threads | Received(<-|)
[20110707 09:03:17:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_10;thread=Camel (camel-4) thread #13 - Threads]
2011-07-07 09:03:17,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #15 - Threads | Received(|->)
[20110707 09:03:17:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_14;thread=Thread-18]
2011-07-07 09:03:18,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #15 - Threads | Received(<-|)
[20110707 09:03:18:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_14;thread=Camel (camel-4) thread #15 - Threads]
2011-07-07 09:03:18,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #11 - Threads | Received(|->)
[20110707 09:03:18:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_5;thread=Thread-9]
2011-07-07 09:03:19,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #11 - Threads | Received(<-|)
[20110707 09:03:19:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_5;thread=Camel (camel-4) thread #11 - Threads]
2011-07-07 09:03:19,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #12 - Threads | Received(|->)
[20110707 09:03:19:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_11;thread=Thread-15]
2011-07-07 09:03:20,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #12 - Threads | Received(<-|)
[20110707 09:03:20:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_11;thread=Camel (camel-4) thread #12 - Threads]
2011-07-07 09:03:20,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #14 - Threads | Received(|->)
[20110707 09:03:20:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_8;thread=Thread-12]
2011-07-07 09:03:21,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #14 - Threads | Received(<-|)
[20110707 09:03:21:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_8;thread=Camel (camel-4) thread #14 - Threads]
2011-07-07 09:03:21,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #13 - Threads | Received(|->)
[20110707 09:03:21:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_3;thread=Thread-7]
2011-07-07 09:03:22,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #13 - Threads | Received(<-|)
[20110707 09:03:22:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_3;thread=Camel (camel-4) thread #13 - Threads]
2011-07-07 09:03:22,320|INFO | .bus.bao.EsbSampleStandaloneListenerImpl |
process | l (camel-4) thread #15 - Threads | Received(|->)
[20110707 09:03:22:320/esbTestJmsTopicListener]:
SampleDtoImpl[data_7;thread=Thread-11]
--
View this message in context:
http://camel.465427.n5.nabble.com/Each-concurrentConsumer-on-JMS-Topic-receives-ALL-msgs-tp4558687p4561025.html
Sent from the Camel - Users mailing list archive at Nabble.com.