Automatic failure diagnosis and resume for message processing in message driven bean scenarios
Original Publication Date: 2002-Nov-14
Included in the Prior Art Database: 2003-Jun-21
Introduction This section gives a short introduction into the main concepts and terminology used in this article. Message Driven Beans TM Message Driven Beans (MDB) were introduced with Sun’s EJBTM 2.0 Specification, see . MDBs are special Enterprise JavaBeans (EJB), i.e. pieces of code that implement certain interfaces so that they can run within a so called EJB Container runtime. In difference to the session beans and entity beans , the MDBs support an asynchronous programming model. A MDB object provides an onMessage method that is asynchronously invoked and executes upon receipt of a single client message. Although MDBs are short-lived stateless objects that do not represent database data directly, methods can access such data in a transaction-aware way. The container creates a new transaction before the message is sent to the onMessage method of MDBs with container-managed transactions.(In this article we don’t use bean-managed transactions.). The transaction is committed after if onMessage returns properly. The MDB than can cause a transaction rollback by invoking a setRollbackOnly method on a certain context object. If a transaction is rolled back, the message stays in the input queue and will be posted to the MDB again.