Hello,
I have a couple of suggested ideas for JMS 2.1 from challenges that I ran into:
1. Singleton MDB
Recently I was working on a project where I needed a “singleton" MDB reading off of a queue. It is a long story why this was necessary. In GF I configured the bean so that the pool size was 1. However, the container would create and destroy the bean at random (perhaps a bug). The postConstruct method would take upwards of 30 seconds to initialize which resulted in a performance problem. I felt that configuring an MDB pool to have one instance was a bit of a hack. It would be nice to have a "singleton MDB" construct.
2. CDI events and MDBs
It isn’t clear to me in the specs whether MDBs can receive CDI events.
3. Ability to control MDBs - start/stop message delivery. If something goes awry with an MDB (application logic detects a problem), some mechanism to ‘stop’ MDBs from processing messages.
4. Timeouts on message delivery - if an MDB processing a message exceeds a certain timeout period, fire a listener so that application logic can handle it.
-Ryan