3 Replies Latest reply on Oct 14, 2015 10:55 AM by Justin Bertram

    MDB not picking up messages immediately after done processing previous message

    xin wu Newbie



      I've spent days on a seemingly simple Hornetq/MDB problem, but can't get it work properly, hopefully someone here can give me a clue or two. Thanks in advance!


      Here is my problem: a MDB is configured to listen on a queue in a in-vm HorneMtq, so when messages come in, the MDB processes them dutifully. when there are a few messages(say 30) coming in at the same time, by default, only 15 of them can be processed, and rest of them will have to wait until some instances of MDB done processing previous messages. But the problem is when MDB instances complete processing messages, they don't pick up messages in the queue immediately, but with some delay.


      So my question is how to make the MDB run at full capacity so that whenever an instance of MDB completes processing a message, immediately it picks up another message in the queue? I tried several configuration parameters such as client side buffering, thread pool size, keep-alive time, instance acquisition time out, but none of them worked. Any ideas? Thanks!