Stomp uses named transactions so that many transactions can concurrently occur at the same time.
The client specifies the name and it is unique to that client.
BEGIN transaction: tx1 ^@
then you can ack or send using the transaction
ACK message: ID:19283:wheeeee:1234 transaction: tx1 ^@
SEND destination: /queue/a transaction: tx1 hello queue a! ^@
ABORT transaction: tx1 ^@
Would "undo" the ack and send