Eg, with CMT Message Driven Bean message acknowledgment depends on whether the transaction rollbacked / committed. That is what spec's section "15.4.8 Message acknowledgment" says
Message-driven beans should not attempt to use the JMS API for message acknowledgment. Message acknowledgment is automatically handled by the container. If the message-driven bean uses container managed transaction demarcation, message acknowledgment is handled automatically as a part of the transaction commit. If bean managed transaction demarcation is used, the message receipt cannot be part of the bean-managed transaction, and, in this case, the receipt is acknowledged by the container.
Therefore, if MDB needs to acknowledge the message and rollback the transaction at the same time then the only way to do it is to use BMT.
[ July 22, 2004: Message edited by: Alex Sharkoff ]