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.

so:

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