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. > > >> > > > >> > > > > > >