<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word"><head><META content="text/html; charset=us-ascii" http-equiv="Content-Type">

<STYLE><!-- /* Style Definitions */ p.3339c1b0-7c42-495c-aca1-418120db7fdc, li.3339c1b0-7c42-495c-aca1-418120db7fdc, div.3339c1b0-7c42-495c-aca1-418120db7fdc, table.3339c1b0-7c42-495c-aca1-418120db7fdcTable        {margin:0cm; margin-bottom:.0001pt;}div.Section1 {page:Section1;}--></STYLE>
<META content="text/html; charset=us-ascii" HTTP-EQUIV="Content-Type"><meta content="Microsoft Word 14 (filtered medium)" name=Generator><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><BODY>
<P CLASS="3339c1b0-7c42-495c-aca1-418120db7fdc"><div class=WordSection1><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>I have a few questions &#8211; and I&#8217;d be very grateful if someone could point me in the right direction as to where to read more about the answers.<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;1)<span style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Headers exchanges <o:p></o:p></p><p style='margin-left:72.0pt'>a.<span style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>I can see headers exchanges mentioned on <a href="http://www.rabbitmq.com/tutorials/amqp-concepts.html" target="_blank">http://www.rabbitmq.com/tutorials/amqp-concepts.html</a> but I can&#8217;t find any reference to it in the .NET client (for instance, it&#8217;s missing from the ExchangeType class) &#8211; 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 &#8216;on the list&#8217;?<o:p></o:p></p><p style='margin-left:72.0pt'>b.<span style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>I can&#8217;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&#8217;t see any examples. For instance, if I wanted to match on messages where the &#8216;type&#8217; header was &#8216;action&#8217;, the &#8216;sub-type&#8217; header contained any value and the &#8216;source&#8217; header was &#8216;distribution&#8217; &#8211; would that be possible?<o:p></o:p></p><p>2)<span style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>TxSelect, TxCommit and TxRollback<o:p></o:p></p><p style='margin-left:72.0pt'>a.<span style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>I can&#8217;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 &#8216;Not on message persistence&#8217; that is about two-thirds of the way down <a href="http://www.rabbitmq.com/tutorials/tutorial-two-python.html" target="_blank">http://www.rabbitmq.com/tutorials/tutorial-two-python.html</a>). 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&#8217;t say anything about it. As far as I can see a failed commit throws an UnexpectedMessageException. Is that right?<o:p></o:p></p><p style='margin-left:72.0pt'>b.<span style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>While researching this, I found a recent commit which has the comment &#8216;<span style='color:black'>don't use tx in examples. The less it's mentioned the better.&#8217;. Why is that?</span><o:p></o:p></p><p style='margin-left:72.0pt'>c.<span style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style='color:black'>In that commit, a message was changed to mention BasicQos instead of TxCommit &#8211; is that really the intention? Is there anywhere I can read more about that as the API documentation doesn&#8217;t give much away&#8230;</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Thanks very much!<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Matt<o:p></o:p></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p>&nbsp;</o:p></span></p></div></P>
<P CLASS="3339c1b0-7c42-495c-aca1-418120db7fdc">&nbsp;</P>
<P CLASS="3339c1b0-7c42-495c-aca1-418120db7fdc">
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="3339c1b0-7c42-495c-aca1-418120db7fdcTable" STYLE="BORDER-COLLAPSE: collapse">
<TBODY>
<TR>
<TD STYLE="VERTICAL-ALIGN: top; WIDTH: 150px">
<P CLASS="3339c1b0-7c42-495c-aca1-418120db7fdc"><IMG ALIGN="top" ALT BORDER="0" HSPACE="0" SRC="cid:image8658fe.jpg@013a9b2c.719a46e7"></P></TD>
<TD STYLE="VERTICAL-ALIGN: top; WIDTH: 180px">
<P CLASS="3339c1b0-7c42-495c-aca1-418120db7fdc"><IMG ALIGN="top" ALT BORDER="0" HSPACE="0" SRC="cid:image8add09.jpg@6d2f03f6.d0934c84"><BR><FONT COLOR="#055a81" FACE="Calibri" SIZE="2"><STRONG>Matthew Whitfield<BR></STRONG></FONT><FONT COLOR="#434343" FACE="Calibri" SIZE="2">Software Architect</FONT></P></TD>
<TD STYLE="VERTICAL-ALIGN: top; WIDTH: 275px">
<P CLASS="3339c1b0-7c42-495c-aca1-418120db7fdc"><IMG ALIGN="top" ALT BORDER="0" HSPACE="0" SRC="cid:imageac9a58.jpg@688a3584.86b24148"><BR><FONT COLOR="#005f7a" FACE="Calibri" SIZE="2"><STRONG>i2O Water Ltd<BR></STRONG></FONT><FONT COLOR="#373737" FACE="Calibri" SIZE="2">4 Benham Road<br>Southampton Science Park<BR></FONT><FONT COLOR="#373737" FACE="Calibri" SIZE="2">Southampton SO16 7QJ, UK&nbsp;</FONT></P></TD>
<TD STYLE="VERTICAL-ALIGN: top; WIDTH: 175px">
<P CLASS="3339c1b0-7c42-495c-aca1-418120db7fdc"><IMG ALIGN="top" ALT BORDER="0" HSPACE="0" SRC="cid:imagea9f0fe.jpg@0a7e4a5d.fc96419a"><BR><FONT COLOR="#3b3b3b" FACE="Calibri" SIZE="2">t:&nbsp;&nbsp; +44 2380 111577<BR></FONT><FONT COLOR="#3a3a3a" FACE="Calibri" SIZE="2">m: +44 7766 951222<BR></FONT><A HREF="http://www.i2owater.com/" STYLE="TEXT-DECORATION: none"><FONT COLOR="#005e7c" FACE="Calibri" SIZE="2"><STRONG>www.i2owater.com</STRONG></FONT></A><BR><FONT COLOR="#3f3f3f" FACE="Calibri" SIZE="2">Registered in the UK<BR>5617487</FONT></P></TD></TR></TBODY></TABLE></P>
<P CLASS="3339c1b0-7c42-495c-aca1-418120db7fdc">&nbsp;&nbsp;</P>
<P CLASS="3339c1b0-7c42-495c-aca1-418120db7fdc"></P>
<P CLASS="3339c1b0-7c42-495c-aca1-418120db7fdc"></P>
<P></P></BODY></HTML>