Message-driven beans are asynchronous message consumers that process messages delivered via jms. While the MDB handles messages, the EJB container running the MDB handles the services (transactions, security, resources, concurrency, message acknowledgment, etc.), allowing the bean developer to focus on the business logic of handling the messages. MDBs are inherently stateless, which means that the EJB container can execute a large number of MDB instances, concurrently process hundreds of JMS messages from various applications or JMS producers, and also supports server quality.
MDB Features
1. Multithreading
Business applications created may require multithreaded message consumers that can process messages concurrently.
MDB life cycle
Its lifecycle has two states: non-existent and ready method pool. The method pooling of message-driven beans is similar to the instance pooling in stateless session beans.