Hi,
I've been thinking about transactions in STOMP and I need some
clarification on that. I've been working on the implementation of
server/broker in erlang.
Case 1. I have client A, that is subscribed to destination D
(ack=auto). I have also client B who sends messages to X. Client A
begins transaction T and sends messages M1 and M2 to D in
transactional way. They shouldn't be delivered to B unless client A
commits transaction T. Once A commits T messages M1 and M2 should be
delivered to B in given order.
Case 2. Let's consider that destination D is in ack=client mode.
Client A sends messages M1 and M2 to D (no transactions). Prior to
that B begins transaction T. Both M1 and M2 are delivered to B but the
server expects to get acknowledgment. Client B sends these for M1 and
M2 and then aborts transaction T. What should happen then? Should we
keep messages on the server until ACK will arrive from B or B
disconnects?
Is it OK if I say that transaction is part of the client session? Even
both client A and B create transaction with the same name they remain
distinct and independent, don't they?
Cheers,
Tom
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email