In general, this is not the behavior I would expect. I would expect the MDB to pick up the next message immediately. It's possible that messages could be sitting in the consumers' buffers. You indicated that you modified the client-side buffering configuration; did you disable client-side buffering completely (i.e. consumerWindowSize = 0)?
I recommend you get a series of thread dumps to see what might be happening during the interim time between when the MDB finishes processing one message and picks up the next one.
Thanks for the quick reply. I'd tried disabling client-side buffering before you suggested it, but on a wrong connection factory. Once it's done on the correct connection factory, it works perfectly. Thanks again!
I'm glad it's working for you.
One last note...To avoid confusion you can simply set the "consumerWindowSize" activation configuration property directly on the MDB itself rather than on the connection factory.