![aom auto queue aom auto queue](https://agewebcdn.blob.core.windows.net/aoe-forums/optimized/3X/3/e/3ed643e517c652eb6823b98adca98cab4f70705f_2_1024x576.jpeg)
The transaction commits upon successful message processing or the application can explicitly roll it back. Message-driven beans with CMTD: An MDB can participate in a container transaction by specifying CMTD in the XML deployment descriptor. The application completely controls the message delivery by either committing or rolling back the session. Transacted session: An application can participate in a transaction by creating a transacted session (or local transaction). However, these acknowledgement modes are JMS provider specific, and therefore, compromise the JMS application portability. Other types of acknowledgement modes are possible.
AOM AUTO QUEUE CODE
This mode gives the application (rather than the JMS provider) complete control over message acknowledgement, at the cost of increased code complexity.
![aom auto queue aom auto queue](https://cdn.ageofempires.com/aoe-forums/original/3X/0/5/0539cb4a0f0eded5d00a38a0aa2c46e5a3edf905.jpeg)
The application must acknowledge the message receipt.
![aom auto queue aom auto queue](https://www.mdpi.com/sensors/sensors-18-01883/article_deploy/html/images/sensors-18-01883-g004.png)
This article focuses on two such powerful concepts: transaction and redelivery.
AOM AUTO QUEUE HOW TO
Architecting and designing applications with the Java Message Service (JMS) requires not only knowing how to use the JMS API, but also having a solid foundation of its concepts.