Integration / ActiveMQ Interview Questions Basics
List the message acknowledgment modes in ActiveMQ?
JMS sessions in ActiveMQ support four acknowledgment modes:
- AUTO_ACKNOWLEDGE - acknowledged automatically right after the message is received.
- CLIENT_ACKNOWLEDGE - the client explicitly calls
acknowledge(). - DUPS_OK_ACKNOWLEDGE - lazy acknowledgment that tolerates occasional duplicates for better throughput.
- SESSION_TRANSACTED - acknowledgment is tied to a transaction commit.
Choosing between them is a throughput-versus-safety trade-off: AUTO_ACKNOWLEDGE and DUPS_OK_ACKNOWLEDGE are simplest and fastest but riskier if processing fails after the message is already considered handled, while CLIENT_ACKNOWLEDGE and SESSION_TRANSACTED give the application explicit control over exactly when a message is considered done, at the cost of a little extra code.
More Related questions...