[rabbitmq-discuss] STOMP and transactions
goran at krampe.se
Tue Aug 24 09:15:42 BST 2010
On 08/20/2010 08:32 PM, Tony Garnock-Jones wrote:
> Göran Krampe wrote:
>> Swedish! :)
> visst :) fast det har varit flera år sen jag brukade språket på allvar.
>> Right, this was my guess. But then I tried making a sunit test and...
>> well, I start two sessions, let the first set up a subscription to
>> 'wonderland', then let the second session do BEGIN and send two messages
>> to 'wonderland', now, my naive understanding was that session one should
>> not receive any message until session2 does COMMIT.
> Did you include the "transaction" header on the SEND? You have to tell the
> server *which* transaction you want the SEND (or the ACK) to be included within.
Ehrmph, <cough cough>, I *thought* i did, but alas, I didn't. Thanks for
the pointer - now the first txn test is green! Disregarding the fact
that I need more tests, then the implementation *should* be complete.
Class StompProtocol is a stateless encoding of the actual wire protocol.
Then the other high level objects use that, and StompSession should be
thread safe using a mutex so that multiple Squeak Processes can share
it. The reading is done by a background process in the session, so that
receiving frames is asynchronously performed.
All in all I think it is a fairly nice looking implementation. Will try
to blog about it in a day or so.
More information about the rabbitmq-discuss