[jboss-user] [Messaging, JMS & JBossMQ] - How to know when all messages have been processed?
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?
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