General J2EE: MDB pool and JMS Topic
I have a MDB pool and I am posting messages on JMS Topic. As my MDB is listening to this Topic it recives the message and starts processing it. While one instance of MDB is processing the message, one more message comes on the Topic. My question is will the app server, give this new message to a new instance of MDB, when other instance is still processing the earlier message.
Indeed it will.
An MDB is an EJB. The application server has an available pool to draw from. Most application servers out there will let you control the pool size. We actually encountered a situation once where we didn't want more than a single MDB processing at a given time, and limited that specific MDB's pool size to 1. We did that in both Glassfish as well as Weblogic.