[rabbitmq-discuss] STOMP and transactions

Göran Krampe goran at krampe.se
Tue Aug 24 09:15:42 BST 2010


Hi all!

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.

:)

[SNIP]
>> 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.

FYI:

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.

regards, Göran


More information about the rabbitmq-discuss mailing list