An message-driven bean is an enterprise bean that is an asynchronous, JMS message consumer.
It is similar to a stateless session bean but lacks a home or remote interface. It can reliably consume
messages from a queue or a durable subscription. The messages may be sent by any J2EE
component--from an application client, another EJB, or a Web component. It contains an
onMessage method that is called automatically when a message arrives and that
implements the bean's business logic.