We are facing a problem, where every 15th message does not get read from the message queue until an MDB instance does not finish working on the first message.
We have a timeToLive of 30 secs for the messages. If the first message consumption takes much more time then that, then the stuck messages stay in the queue for more then 30 secs, and thus timeout when the slow message consumption stops.
MDB pool size is 20, but have tried 30, 10, ... makes no difference.
the scenario looks like this:
#1 SLOW message goes in queue, MDB onMessage() called, message processing.
#2-14 messages go in queue, MDB onMessage() called, messages processed.
#15 message goes in queue, message not touched.
#16-29 messages go in queue, MDB onMessage() called, message processed.
#30 message goes in queue, message not touched.
... every 15th gets stuck
#1 finishes, then immediately every 15th message (which got stuck) gets thrown away due to message timeout.
It's always every 15th message...
We are on JBOSS EAP 6.1 and using JAVA 7
Can anyone give us some tips on this issue, what could be the cause, where to look? Something has to be configured to a number of 15 which is causing this, but we have no clue on to what it could be.
Thanks in advance!