[rabbitmq-discuss] A few questions about RabbitMQ and the .NET Client
Matthew Whitfield
Matthew.Whitfield at i2owater.com
Thu Sep 1 16:11:38 BST 2011
I have a few questions - and I'd be very grateful if someone could point me in the right direction as to where to read more about the answers.
1) Headers exchanges
a. I can see headers exchanges mentioned on http://www.rabbitmq.com/tutorials/amqp-concepts.html but I can't find any reference to it in the .NET client (for instance, it's missing from the ExchangeType class) - even though the prototypes for ExchangeDeclare and QueueBind would seem to allow for a headers exchange to be handled. Is this just something that is 'on the list'?
b. I can't find any documentation on exactly how header matching works. I can see it mentioned in section 3.1.3.4 of the AMQP 0.9.1 spec, but I can't see any examples. For instance, if I wanted to match on messages where the 'type' header was 'action', the 'sub-type' header contained any value and the 'source' header was 'distribution' - would that be possible?
2) TxSelect, TxCommit and TxRollback
a. I can't really find any good examples of the usage or implications of transactions. My use case is that I want to receive a message, then generate 100 messages which either all get routed to their queue or not (basically an atomic publish) before acking the message that I receive. This is, in part, to allow for message durability to be handled in the broker (as per the 'Not on message persistence' that is about two-thirds of the way down http://www.rabbitmq.com/tutorials/tutorial-two-python.html). I wanted to know how TxCommit would react if the broker commit failed, and for this I had to re-compile the source because the documentation doesn't say anything about it. As far as I can see a failed commit throws an UnexpectedMessageException. Is that right?
b. While researching this, I found a recent commit which has the comment 'don't use tx in examples. The less it's mentioned the better.'. Why is that?
c. In that commit, a message was changed to mention BasicQos instead of TxCommit - is that really the intention? Is there anywhere I can read more about that as the API documentation doesn't give much away...
Thanks very much!
Matt
[cid:image8658fe.jpg at 013a9b2c.719a46e7]
[cid:image8add09.jpg at 6d2f03f6.d0934c84]
Matthew Whitfield
Software Architect
[cid:imageac9a58.jpg at 688a3584.86b24148]
i2O Water Ltd
4 Benham Road
Southampton Science Park
Southampton SO16 7QJ, UK
[cid:imagea9f0fe.jpg at 0a7e4a5d.fc96419a]
t: +44 2380 111577
m: +44 7766 951222
www.i2owater.com<http://www.i2owater.com/>
Registered in the UK
5617487
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20110901/e75425ee/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image8658fe.jpg at 013a9b2c.719a46e7
Type: image/jpeg
Size: 2373 bytes
Desc: image8658fe.jpg at 013a9b2c.719a46e7
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20110901/e75425ee/attachment.jpeg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image8add09.jpg at 6d2f03f6.d0934c84
Type: image/jpeg
Size: 701 bytes
Desc: image8add09.jpg at 6d2f03f6.d0934c84
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20110901/e75425ee/attachment-0001.jpeg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: imageac9a58.jpg at 688a3584.86b24148
Type: image/jpeg
Size: 701 bytes
Desc: imageac9a58.jpg at 688a3584.86b24148
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20110901/e75425ee/attachment-0002.jpeg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: imagea9f0fe.jpg at 0a7e4a5d.fc96419a
Type: image/jpeg
Size: 701 bytes
Desc: imagea9f0fe.jpg at 0a7e4a5d.fc96419a
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20110901/e75425ee/attachment-0003.jpeg>
More information about the rabbitmq-discuss
mailing list