Hi all,
I'm using Hornetq-2.3.0.CR2.
The user manual said:
Message acknowledgements are not transactional. The ACK frame can not be part of a transaction (it will be ignored if its transaction header is set).
So hornetq doesn't support this frame (Am i right?):
ACK
id:12345
transaction:tx1
^@
and doesn't support this one (Am i right?):
SUBSCRIBE
id:0
destination:/queue/foo
ack:transactional
^@
By the way, the Stomp-1.2 specification (http://stomp.github.io/stomp-specification-1.1.html#ACK) said:
Optionally, a transaction
header MAY be specified, indicating that the message acknowledgment SHOULD be part of the named transaction.
So is it Hornetq limitation (as said in manual)?
In message consumer, we have this scenario (if we use jms):
- Receive a message
- Process the message
- Commit if it succeed (commit only this message)
- Roll back if it faild (send the message back to queue)
If we can't use commit and rollback (abort) in stomp, what should be used instead? which ack mode?
In message producer, how can we support guarantees of sends with stomp?
Thanks in advance.