[jboss-user] [Messaging, JMS & JBossMQ] - How to know when all messages have been processed?

dovetail do-not-reply at jboss.com
Tue Mar 25 10:33:56 EDT 2008


We need to implement a parallelising system using messaging - work is handled by message beans.

The upstream and message processing works fine - we've run cluster performance tests on 200000 messages and scalability is fine (and linear across 3 systems in a cluster).

The problem is to determine the best way of knowing when all the messages have been processed.

Initial attempts resulted in the thread http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4138673#4138673 which wasn't much use.

I am loathe to use a semaphore approach - we know the number of messages before we start, so each message could decrement this - as this would introduce contention on the semaphore (however implemented I think).

There doesn't appear to be a way of querying the queue.

We can't stick a 'final' message onto the queue as this could be processed before all the others have been processed (each message can take a while).

I have some other ideas, but they're all a bit twiddly : entry in DB for each completion ... count entries)

Just wondering if anyone has had the same problem - and what suggestions there are for solving it?

Many Thanks


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4138731#4138731

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4138731

More information about the jboss-user mailing list