I just tried the same approach using JMS consumers. No success. Source at: https://github.com/thiagokronig/activemq-camel-test/blob/master/src/main/java/com/thiagokronig/activemqcameltest/ActiveMQJMSParallelTest.java
On Mon Feb 02 2015 at 7:30:00 PM Thiago Kronig <thiagokro...@gmail.com> wrote: > Tim, you're right: 1 second is to small timeout to begin with. > But even if I set to 10 minutes, I get the same discouraging results: 3 > consumers, sometimes 8 consumers processing different messages in parallel. > Sometimes 10 consumers, as my test requires, consumes all the messages in > parallel and exit before the `10 minute` timeout; but that is *sometimes*. > > > On Mon Feb 02 2015 at 7:12:58 PM Tim Bain <tb...@alumni.duke.edu> wrote: > >> Are you sure that your assumption that a Camel context can be initialized >> enough to consume messages in all 10 threads within 1 second is a valid >> one? In my experience, Camel contexts aren't quick to start, and it >> wouldn't surprise me if there was some asynchronous startup logic that >> took >> place in parallel after control returns from you call to >> camelContext.addRoutes(). Can you point us to any documentation that >> validates that startup is supposed to work as quickly as your code >> assumes? If not, you could increase the timeouts to 2 seconds, and I >> would >> expect your test would start succeeding most/all of the time... >> >> On Mon, Feb 2, 2015 at 1:49 PM, Thiago Kronig <thiagokro...@gmail.com> >> wrote: >> >> > Tim, other thing: I tried to Thread.sleep(5000); between the producer >> > commit and the consumer initialization, but had no success. >> > >> > On Mon Feb 02 2015 at 6:45:19 PM Thiago Kronig <thiagokro...@gmail.com> >> > wrote: >> > >> > > Tim, in may scenario I want to consume N messages in N consumers, one >> for >> > > each. My consumers wait on a barrier only to show the parallelism, >> and to >> > > show that none of them processed two messages or more. Maybe my Camel >> > > configuration is wrong, or there is something wrong with the broker >> > > configuration. >> > > >> > > >> > > On Mon Feb 02 2015 at 6:17:38 PM Tim Bain <tb...@alumni.duke.edu> >> wrote: >> > > >> > >> Why do your consumers all wait for the Nth message to be received >> before >> > >> they return to process another? Why don't you use an AtomicInteger >> to >> > >> subtract one each time, and succeed if you hit 0 and fail if you >> haven't >> > >> hit 0 by the end of your timeout interval? Based on what you've >> shows >> > us >> > >> so far, this appears to be an artifact of your test code, not a >> problem >> > >> with the broker. >> > >> >> > >> On Mon, Feb 2, 2015 at 1:02 PM, Thiago Kronig < >> thiagokro...@gmail.com> >> > >> wrote: >> > >> >> > >> > Hi list. >> > >> > >> > >> > I'm trying to concurrently consume 10 messages sent to an embedded >> > >> ActiveMQ >> > >> > broker over the VM transport. Sometimes my code works, sometimes it >> > >> hangs >> > >> > at the n-th message, randomly. >> > >> > >> > >> > If I change to a JBossMQ, my Camel client works. >> > >> > >> > >> > Can someone help me in setting my ActiveMQ broker? >> > >> > >> > >> > Source at: https://github.com/thiagokronig/activemq-camel-test >> > >> > >> > >> > Thanks in advance. >> > >> > >> > >> >> > > >> > >> >