<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://logicwiki.co.uk/index.php?action=history&amp;feed=atom&amp;title=RabbitMQ</id>
		<title>RabbitMQ - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://logicwiki.co.uk/index.php?action=history&amp;feed=atom&amp;title=RabbitMQ"/>
		<link rel="alternate" type="text/html" href="https://logicwiki.co.uk/index.php?title=RabbitMQ&amp;action=history"/>
		<updated>2026-05-20T04:10:09Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://logicwiki.co.uk/index.php?title=RabbitMQ&amp;diff=2125&amp;oldid=prev</id>
		<title>AliIybar: /* Exchange Types */</title>
		<link rel="alternate" type="text/html" href="https://logicwiki.co.uk/index.php?title=RabbitMQ&amp;diff=2125&amp;oldid=prev"/>
				<updated>2021-02-23T12:05:55Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Exchange Types&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 12:05, 23 February 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l38&quot; &gt;Line 38:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 38:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Exchange Types ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Exchange Types ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Follow &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;this link to see in detail &lt;/del&gt;[[RabbitMQ Exchange Types]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Follow &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;[[RabbitMQ Exchange Types]] &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; to see in detail&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Direct ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Direct ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Publish direct with queue keys&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Publish direct with queue keys&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l47&quot; &gt;Line 47:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 47:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Headers ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Headers ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;instead of keys it looks for headers&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;instead of keys it looks for headers&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== QUEUES == &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== QUEUES == &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>AliIybar</name></author>	</entry>

	<entry>
		<id>https://logicwiki.co.uk/index.php?title=RabbitMQ&amp;diff=2124&amp;oldid=prev</id>
		<title>AliIybar at 12:05, 23 February 2021</title>
		<link rel="alternate" type="text/html" href="https://logicwiki.co.uk/index.php?title=RabbitMQ&amp;diff=2124&amp;oldid=prev"/>
				<updated>2021-02-23T12:05:23Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 12:05, 23 February 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l38&quot; &gt;Line 38:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 38:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Exchange Types ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Exchange Types ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Follow this link to see in detail [[RabbitMQ Exchange Types]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Direct ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Direct ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Publish direct with queue keys&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Publish direct with queue keys&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>AliIybar</name></author>	</entry>

	<entry>
		<id>https://logicwiki.co.uk/index.php?title=RabbitMQ&amp;diff=2117&amp;oldid=prev</id>
		<title>AliIybar: /* Docker */</title>
		<link rel="alternate" type="text/html" href="https://logicwiki.co.uk/index.php?title=RabbitMQ&amp;diff=2117&amp;oldid=prev"/>
				<updated>2021-02-22T16:52:32Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Docker&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 16:52, 22 February 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot; &gt;Line 18:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you wish to change the default username and password of guest / guest, you can do so with the RABBITMQ_DEFAULT_USER and RABBITMQ_DEFAULT_PASS environmental variables:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you wish to change the default username and password of guest / guest, you can do so with the RABBITMQ_DEFAULT_USER and RABBITMQ_DEFAULT_PASS environmental variables:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; docker run -d --hostname my-rabbit --name some-rabbit -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password rabbitmq:3-management&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; docker run -d --hostname my-rabbit --name some-rabbit -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password rabbitmq:3-management&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==== Port Mappings ====&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; $ docker run -d --hostname my-rabbit --name some-rabbit -p 8080:15672 -p 8090:5672 rabbitmq:3-management&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		You can then go to http://localhost:8080 or http://host-ip:8080 in a browser.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Starting Server ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Starting Server ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To start in foreground type in bash &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To start in foreground type in bash &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>AliIybar</name></author>	</entry>

	<entry>
		<id>https://logicwiki.co.uk/index.php?title=RabbitMQ&amp;diff=2072&amp;oldid=prev</id>
		<title>AliIybar at 11:51, 8 February 2021</title>
		<link rel="alternate" type="text/html" href="https://logicwiki.co.uk/index.php?title=RabbitMQ&amp;diff=2072&amp;oldid=prev"/>
				<updated>2021-02-08T11:51:47Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 11:51, 8 February 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l278&quot; &gt;Line 278:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 278:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;So when we have more instances of consumer they share the messsages like a load balancer. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;So when we have more instances of consumer they share the messsages like a load balancer. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Publish &amp;amp; Subscribe ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/ins&gt;== Publish &amp;amp; Subscribe ==&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Producer====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Producer====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>AliIybar</name></author>	</entry>

	<entry>
		<id>https://logicwiki.co.uk/index.php?title=RabbitMQ&amp;diff=2071&amp;oldid=prev</id>
		<title>AliIybar: Created page with &quot;Category:Microservices Category:MessageQueue  It's an open source message queue management system. ([http://rabbitmq.com rabbitmq.com]). it uses AMQP (Advanced, Messag...&quot;</title>
		<link rel="alternate" type="text/html" href="https://logicwiki.co.uk/index.php?title=RabbitMQ&amp;diff=2071&amp;oldid=prev"/>
				<updated>2021-02-08T11:50:45Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;a href=&quot;/Category:Microservices&quot; title=&quot;Category:Microservices&quot;&gt;Category:Microservices&lt;/a&gt; &lt;a href=&quot;/index.php?title=Category:MessageQueue&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Category:MessageQueue (page does not exist)&quot;&gt;Category:MessageQueue&lt;/a&gt;  It&amp;#039;s an open source message queue management system. ([http://rabbitmq.com rabbitmq.com]). it uses AMQP (Advanced, Messag...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Microservices]]&lt;br /&gt;
[[Category:MessageQueue]]&lt;br /&gt;
&lt;br /&gt;
It's an open source message queue management system. ([http://rabbitmq.com rabbitmq.com]). it uses AMQP (Advanced, Message Queue Protocol)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
=== Mac ===&lt;br /&gt;
 brew update&lt;br /&gt;
 brew install rabbitmq&lt;br /&gt;
in ~/.bashrc or other bash files add &lt;br /&gt;
 export PATH=$PATH:/usr/local/sbin&lt;br /&gt;
=== Docker ===&lt;br /&gt;
 docker pull rabbitmq&lt;br /&gt;
 docker run -d --hostname myrabbit --name some-rabbit rabbitmq:3&lt;br /&gt;
 docker run -d --hostname myrabbit --name some-rabbit rabbitmq:3-management&lt;br /&gt;
==== Setting default user and password ====&lt;br /&gt;
If you wish to change the default username and password of guest / guest, you can do so with the RABBITMQ_DEFAULT_USER and RABBITMQ_DEFAULT_PASS environmental variables:&lt;br /&gt;
 docker run -d --hostname my-rabbit --name some-rabbit -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password rabbitmq:3-management&lt;br /&gt;
== Starting Server ==&lt;br /&gt;
To start in foreground type in bash &lt;br /&gt;
 rabbitmq-server&lt;br /&gt;
To start in background &lt;br /&gt;
 brew services start rabbitmq&lt;br /&gt;
&lt;br /&gt;
== Enabling Management Portal ==&lt;br /&gt;
 rabbitmq -plugins enable rabbitmq_management&lt;br /&gt;
 &lt;br /&gt;
http://localhost:15672&lt;br /&gt;
* User : guest&lt;br /&gt;
* Pass : guest&lt;br /&gt;
== Installation of Client ==&lt;br /&gt;
in nuget packages install '''RabbitMQ.Client'''&lt;br /&gt;
&lt;br /&gt;
== Exchange Types ==&lt;br /&gt;
=== Direct ===&lt;br /&gt;
Publish direct with queue keys&lt;br /&gt;
=== Fanout ===&lt;br /&gt;
Ignores keys and broadcast to many queues&lt;br /&gt;
=== Topic ===&lt;br /&gt;
publish to keys with asterisk(*)&lt;br /&gt;
=== Headers ===&lt;br /&gt;
instead of keys it looks for headers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== QUEUES == &lt;br /&gt;
Queue names can be maximum 255 chars. &lt;br /&gt;
Messages are removed from the queue once the broker sends it to the consumer or once the concsumer sends an acknowledgement to the broker. &lt;br /&gt;
=== Common Classes ===&lt;br /&gt;
used in the examples below&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    [Serializable] &lt;br /&gt;
    public class Payment&lt;br /&gt;
    {&lt;br /&gt;
        public decimal AmountToPay;&lt;br /&gt;
        public string CardNumber;        &lt;br /&gt;
        public string Name;&lt;br /&gt;
    }&lt;br /&gt;
    [Serializable]&lt;br /&gt;
    public class PurchaseOrder&lt;br /&gt;
    {&lt;br /&gt;
        public decimal AmountToPay;&lt;br /&gt;
        public string PoNumber;        &lt;br /&gt;
        public string CompanyName;&lt;br /&gt;
        public int PaymentDayTerms;&lt;br /&gt;
    }&lt;br /&gt;
 public static class ObjectSerialize&lt;br /&gt;
    {&lt;br /&gt;
        public static byte[] Serialize(this object obj)&lt;br /&gt;
        {&lt;br /&gt;
            if (obj == null)&lt;br /&gt;
            {&lt;br /&gt;
                return null;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var json = JsonConvert.SerializeObject(obj);&lt;br /&gt;
            return Encoding.ASCII.GetBytes(json);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public static object DeSerialize(this byte[] arrBytes, Type type)&lt;br /&gt;
        {&lt;br /&gt;
            var json = Encoding.Default.GetString(arrBytes);&lt;br /&gt;
            return JsonConvert.DeserializeObject(json, type);         &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public static string DeSerializeText(this byte[] arrBytes)&lt;br /&gt;
        {&lt;br /&gt;
            return Encoding.Default.GetString(arrBytes);            &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Standard Queue ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    class Program&lt;br /&gt;
    {&lt;br /&gt;
        private static ConnectionFactory _factory;&lt;br /&gt;
        private static IConnection _connection;&lt;br /&gt;
        private static IModel _model;&lt;br /&gt;
                &lt;br /&gt;
        private const string QueueName = &amp;quot;StandardQueue_ExampleQueue&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        public static void Main()&lt;br /&gt;
        {            &lt;br /&gt;
            var payment1 = new Payment { AmountToPay = 25.0m, CardNumber = &amp;quot;1234123412341234&amp;quot;, Name = &amp;quot;Mr S Haunts&amp;quot; };&lt;br /&gt;
            var payment2 = new Payment { AmountToPay = 5.0m, CardNumber = &amp;quot;1234123412341234&amp;quot;, Name = &amp;quot;Mr S Haunts&amp;quot; };&lt;br /&gt;
            var payment3 = new Payment { AmountToPay = 2.0m, CardNumber = &amp;quot;1234123412341234&amp;quot;, Name = &amp;quot;Mr S Haunts&amp;quot; };&lt;br /&gt;
            var payment4 = new Payment { AmountToPay = 17.0m, CardNumber = &amp;quot;1234123412341234&amp;quot;, Name = &amp;quot;Mr S Haunts&amp;quot; };&lt;br /&gt;
            var payment5 = new Payment { AmountToPay = 300.0m, CardNumber = &amp;quot;1234123412341234&amp;quot;, Name = &amp;quot;Mr S Haunts&amp;quot; };&lt;br /&gt;
            var payment6 = new Payment { AmountToPay = 350.0m, CardNumber = &amp;quot;1234123412341234&amp;quot;, Name = &amp;quot;Mr S Haunts&amp;quot; };&lt;br /&gt;
            var payment7 = new Payment { AmountToPay = 295.0m, CardNumber = &amp;quot;1234123412341234&amp;quot;, Name = &amp;quot;Mr S Haunts&amp;quot; };&lt;br /&gt;
            var payment8 = new Payment { AmountToPay = 5625.0m, CardNumber = &amp;quot;1234123412341234&amp;quot;, Name = &amp;quot;Mr S Haunts&amp;quot; };&lt;br /&gt;
            var payment9 = new Payment { AmountToPay = 5.0m, CardNumber = &amp;quot;1234123412341234&amp;quot;, Name = &amp;quot;Mr S Haunts&amp;quot; };&lt;br /&gt;
            var payment10 = new Payment { AmountToPay = 12.0m, CardNumber = &amp;quot;1234123412341234&amp;quot;, Name = &amp;quot;Mr S Haunts&amp;quot; };&lt;br /&gt;
                        &lt;br /&gt;
            CreateQueue();            &lt;br /&gt;
                        &lt;br /&gt;
            SendMessage(payment1);&lt;br /&gt;
            SendMessage(payment2);&lt;br /&gt;
            SendMessage(payment3);&lt;br /&gt;
            SendMessage(payment4);&lt;br /&gt;
            SendMessage(payment5);&lt;br /&gt;
            SendMessage(payment6);&lt;br /&gt;
            SendMessage(payment7);&lt;br /&gt;
            SendMessage(payment8);&lt;br /&gt;
            SendMessage(payment9);&lt;br /&gt;
            SendMessage(payment10);&lt;br /&gt;
                                 &lt;br /&gt;
            Recieve();&lt;br /&gt;
&lt;br /&gt;
            Console.ReadLine();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private static void CreateQueue()&lt;br /&gt;
        {&lt;br /&gt;
            _factory = new ConnectionFactory { HostName = &amp;quot;localhost&amp;quot;, UserName = &amp;quot;guest&amp;quot;, Password = &amp;quot;guest&amp;quot;};&lt;br /&gt;
            _connection = _factory.CreateConnection();&lt;br /&gt;
            _model = _connection.CreateModel(); &lt;br /&gt;
                     &lt;br /&gt;
            _model.QueueDeclare(QueueName, true, false, false, null);            &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private static void SendMessage(Payment message)&lt;br /&gt;
        {            &lt;br /&gt;
            _model.BasicPublish(&amp;quot;&amp;quot;, QueueName, null, message.Serialize());&lt;br /&gt;
            Console.WriteLine(&amp;quot; [x] Payment Message Sent : {0} : {1} : {2}&amp;quot;, message.CardNumber, message.AmountToPay, message.Name);            &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public static void Recieve()&lt;br /&gt;
        {&lt;br /&gt;
            var consumer = new QueueingBasicConsumer(_model);            &lt;br /&gt;
            var msgCount = GetMessageCount(_model, QueueName);&lt;br /&gt;
            &lt;br /&gt;
            _model.BasicConsume(QueueName, true, consumer);&lt;br /&gt;
                    &lt;br /&gt;
            var count = 0;&lt;br /&gt;
            &lt;br /&gt;
            while (count &amp;lt; msgCount)&lt;br /&gt;
            {                               &lt;br /&gt;
                var message = (Payment)consumer.Queue.Dequeue().Body.DeSerialize(typeof(Payment));&lt;br /&gt;
&lt;br /&gt;
                Console.WriteLine(&amp;quot;----- Received {0} : {1} : {2}&amp;quot;, message.CardNumber, message.AmountToPay, message.Name);&lt;br /&gt;
                count++;&lt;br /&gt;
            }                   &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private static uint GetMessageCount(IModel channel, string queueName)&lt;br /&gt;
        {&lt;br /&gt;
            var results = channel.QueueDeclare(queueName, true, false, false, null);&lt;br /&gt;
            return results.MessageCount;                &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Worker Queue ===&lt;br /&gt;
(Load Balance)&lt;br /&gt;
&lt;br /&gt;
==== Producer ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 public class Program&lt;br /&gt;
    {&lt;br /&gt;
        private static ConnectionFactory _factory;&lt;br /&gt;
        private static IConnection _connection;&lt;br /&gt;
        private static IModel _model;&lt;br /&gt;
        &lt;br /&gt;
        private const string QueueName = &amp;quot;WorkerQueue_Queue&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        static void Main()&lt;br /&gt;
        {            &lt;br /&gt;
            var payment1 = new Payment { AmountToPay = 25.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment2 = new Payment { AmountToPay = 5.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment3 = new Payment { AmountToPay = 2.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment4 = new Payment { AmountToPay = 17.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment5 = new Payment { AmountToPay = 300.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment6 = new Payment { AmountToPay = 350.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment7 = new Payment { AmountToPay = 295.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment8 = new Payment { AmountToPay = 5625.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment9 = new Payment { AmountToPay = 5.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment10 = new Payment { AmountToPay = 12.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            &lt;br /&gt;
            CreateConnection();&lt;br /&gt;
            &lt;br /&gt;
            SendMessage(payment1);&lt;br /&gt;
            SendMessage(payment2);&lt;br /&gt;
            SendMessage(payment3);&lt;br /&gt;
            SendMessage(payment4);&lt;br /&gt;
            SendMessage(payment5);&lt;br /&gt;
            SendMessage(payment6);&lt;br /&gt;
            SendMessage(payment7);&lt;br /&gt;
            SendMessage(payment8);&lt;br /&gt;
            SendMessage(payment9);&lt;br /&gt;
            SendMessage(payment10);&lt;br /&gt;
&lt;br /&gt;
            Console.ReadLine();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private static void CreateConnection()&lt;br /&gt;
        {&lt;br /&gt;
            _factory = new ConnectionFactory { HostName = &amp;quot;localhost&amp;quot;, UserName = &amp;quot;guest&amp;quot;, Password = &amp;quot;guest&amp;quot; };&lt;br /&gt;
            _connection = _factory.CreateConnection();&lt;br /&gt;
            _model = _connection.CreateModel();&lt;br /&gt;
            &lt;br /&gt;
            _model.QueueDeclare(QueueName, true, false, false, null);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private static void SendMessage(Payment message)&lt;br /&gt;
        {                        &lt;br /&gt;
            _model.BasicPublish(&amp;quot;&amp;quot;, QueueName, null, message.Serialize());&lt;br /&gt;
            Console.WriteLine(&amp;quot; Payment Sent {0}, £{1}&amp;quot;, message.CardNumber, message.AmountToPay);                &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Consumer ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 public class Program&lt;br /&gt;
    {&lt;br /&gt;
        private static ConnectionFactory _factory;&lt;br /&gt;
        private static IConnection _connection;&lt;br /&gt;
        &lt;br /&gt;
        private const string QueueName = &amp;quot;WorkerQueue_Queue&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            Receive();&lt;br /&gt;
&lt;br /&gt;
            Console.ReadLine();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public static void Receive()&lt;br /&gt;
        {&lt;br /&gt;
            _factory = new ConnectionFactory { HostName = &amp;quot;localhost&amp;quot;, UserName = &amp;quot;guest&amp;quot;, Password = &amp;quot;guest&amp;quot; };&lt;br /&gt;
            using (_connection = _factory.CreateConnection())&lt;br /&gt;
            {&lt;br /&gt;
                using (var channel = _connection.CreateModel())&lt;br /&gt;
                {&lt;br /&gt;
                    channel.QueueDeclare(QueueName, true, false, false, null);&lt;br /&gt;
                    channel.BasicQos(0, 1, false);&lt;br /&gt;
&lt;br /&gt;
                    var consumer = new QueueingBasicConsumer(channel);&lt;br /&gt;
                    channel.BasicConsume(QueueName, false, consumer); &lt;br /&gt;
&lt;br /&gt;
                    while (true)&lt;br /&gt;
                    {&lt;br /&gt;
                        var ea = consumer.Queue.Dequeue();&lt;br /&gt;
                        var message = (Payment)ea.Body.DeSerialize(typeof(Payment));&lt;br /&gt;
                        channel.BasicAck(ea.DeliveryTag, false);&lt;br /&gt;
&lt;br /&gt;
                        Console.WriteLine(&amp;quot;----- Payment Processed {0} : {1}&amp;quot;, message.CardNumber, message.AmountToPay);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in line    '''channel.BasicQos(0, 1, false);''' with parameter &amp;quot;1&amp;quot; we say don't send message to queue until get an acknowledgment&lt;br /&gt;
&lt;br /&gt;
So when we have more instances of consumer they share the messsages like a load balancer. &lt;br /&gt;
== Publish &amp;amp; Subscribe ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Producer====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    class Program&lt;br /&gt;
    {&lt;br /&gt;
        private static ConnectionFactory _factory;&lt;br /&gt;
        private static IConnection _connection;&lt;br /&gt;
        private static IModel _model;&lt;br /&gt;
&lt;br /&gt;
        private const string ExchangeName = &amp;quot;PublishSubscribe_Exchange&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            var payment1 = new Payment { AmountToPay = 25.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment2 = new Payment { AmountToPay = 5.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment3 = new Payment { AmountToPay = 2.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment4 = new Payment { AmountToPay = 17.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment5 = new Payment { AmountToPay = 300.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment6 = new Payment { AmountToPay = 350.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment7 = new Payment { AmountToPay = 295.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment8 = new Payment { AmountToPay = 5625.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment9 = new Payment { AmountToPay = 5.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment10 = new Payment { AmountToPay = 12.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
&lt;br /&gt;
            CreateConnection();&lt;br /&gt;
&lt;br /&gt;
            SendMessage(payment1);&lt;br /&gt;
            SendMessage(payment2);&lt;br /&gt;
            SendMessage(payment3);&lt;br /&gt;
            SendMessage(payment4);&lt;br /&gt;
            SendMessage(payment5);&lt;br /&gt;
            SendMessage(payment6);&lt;br /&gt;
            SendMessage(payment7);&lt;br /&gt;
            SendMessage(payment8);&lt;br /&gt;
            SendMessage(payment9);&lt;br /&gt;
            SendMessage(payment10);&lt;br /&gt;
&lt;br /&gt;
            Console.ReadLine();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private static void CreateConnection()&lt;br /&gt;
        {&lt;br /&gt;
            _factory = new ConnectionFactory { HostName = &amp;quot;localhost&amp;quot;, UserName = &amp;quot;guest&amp;quot;, Password = &amp;quot;guest&amp;quot; };&lt;br /&gt;
            _connection = _factory.CreateConnection();&lt;br /&gt;
            _model = _connection.CreateModel();&lt;br /&gt;
            _model.ExchangeDeclare(ExchangeName, &amp;quot;fanout&amp;quot;, false);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private static void SendMessage(Payment message)&lt;br /&gt;
        {           &lt;br /&gt;
            _model.BasicPublish(ExchangeName, &amp;quot;&amp;quot;, null, message.Serialize());&lt;br /&gt;
            Console.WriteLine(&amp;quot; Payment Sent {0}, £{1}&amp;quot;, message.CardNumber, message.AmountToPay);             &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
in line  '''_model.ExchangeDeclare(ExchangeName, &amp;quot;fanout&amp;quot;, false);''' we use fanout exchange &lt;br /&gt;
==== Consumer ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 class Program&lt;br /&gt;
    {&lt;br /&gt;
        private static ConnectionFactory _factory;&lt;br /&gt;
        private static IConnection _connection;&lt;br /&gt;
        private static QueueingBasicConsumer _consumer;&lt;br /&gt;
&lt;br /&gt;
        private const string ExchangeName = &amp;quot;PublishSubscribe_Exchange&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            _factory = new ConnectionFactory { HostName = &amp;quot;localhost&amp;quot;, UserName = &amp;quot;guest&amp;quot;, Password = &amp;quot;guest&amp;quot; };&lt;br /&gt;
            using (_connection = _factory.CreateConnection())&lt;br /&gt;
            {&lt;br /&gt;
                using (var channel = _connection.CreateModel())&lt;br /&gt;
                {&lt;br /&gt;
                    var queueName = DeclareAndBindQueueToExchange(channel);&lt;br /&gt;
                    channel.BasicConsume(queueName, true, _consumer);&lt;br /&gt;
&lt;br /&gt;
                    while (true)&lt;br /&gt;
                    {&lt;br /&gt;
                        var ea = _consumer.Queue.Dequeue();&lt;br /&gt;
                        var message = (Payment)ea.Body.DeSerialize(typeof(Payment));&lt;br /&gt;
&lt;br /&gt;
                        Console.WriteLine(&amp;quot;----- Payment Processed {0} : {1}&amp;quot;, message.CardNumber, message.AmountToPay);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        private static string DeclareAndBindQueueToExchange(IModel channel)&lt;br /&gt;
        {&lt;br /&gt;
            channel.ExchangeDeclare(ExchangeName, &amp;quot;fanout&amp;quot;);&lt;br /&gt;
            var queueName = channel.QueueDeclare().QueueName;&lt;br /&gt;
            channel.QueueBind(queueName, ExchangeName, &amp;quot;&amp;quot;);&lt;br /&gt;
            _consumer = new QueueingBasicConsumer(channel);&lt;br /&gt;
            return queueName;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Direct Routing ===&lt;br /&gt;
&lt;br /&gt;
==== Producer====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class Program&lt;br /&gt;
    {&lt;br /&gt;
        private static ConnectionFactory _factory;&lt;br /&gt;
        private static IConnection _connection;&lt;br /&gt;
        private static IModel _model;&lt;br /&gt;
&lt;br /&gt;
        private const string ExchangeName = &amp;quot;DirectRouting_Exchange&amp;quot;;&lt;br /&gt;
        private const string CardPaymentQueueName = &amp;quot;CardPaymentDirectRouting_Queue&amp;quot;;&lt;br /&gt;
        private const string PurchaseOrderQueueName = &amp;quot;PurchaseOrderDirectRouting_Queue&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            var payment1 = new Payment { AmountToPay = 25.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment2 = new Payment { AmountToPay = 5.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment3 = new Payment { AmountToPay = 2.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment4 = new Payment { AmountToPay = 17.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment5 = new Payment { AmountToPay = 300.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment6 = new Payment { AmountToPay = 350.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment7 = new Payment { AmountToPay = 295.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment8 = new Payment { AmountToPay = 5625.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment9 = new Payment { AmountToPay = 5.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
            var payment10 = new Payment { AmountToPay = 12.0m, CardNumber = &amp;quot;1234123412341234&amp;quot; };&lt;br /&gt;
&lt;br /&gt;
            var purchaseOrder1 = new PurchaseOrder{AmountToPay = 50.0m, CompanyName = &amp;quot;Company A&amp;quot;, PaymentDayTerms = 75, PoNumber = &amp;quot;123434A&amp;quot;};&lt;br /&gt;
            var purchaseOrder2 = new PurchaseOrder { AmountToPay = 150.0m, CompanyName = &amp;quot;Company B&amp;quot;, PaymentDayTerms = 75, PoNumber = &amp;quot;193434B&amp;quot; };&lt;br /&gt;
            var purchaseOrder3 = new PurchaseOrder { AmountToPay = 12.0m, CompanyName = &amp;quot;Company C&amp;quot;, PaymentDayTerms = 75, PoNumber = &amp;quot;196544A&amp;quot; };&lt;br /&gt;
            var purchaseOrder4 = new PurchaseOrder { AmountToPay = 2150.0m, CompanyName = &amp;quot;Company D&amp;quot;, PaymentDayTerms = 75, PoNumber = &amp;quot;234434H&amp;quot; };&lt;br /&gt;
            var purchaseOrder5 = new PurchaseOrder { AmountToPay = 2150.0m, CompanyName = &amp;quot;Company E&amp;quot;, PaymentDayTerms = 75, PoNumber = &amp;quot;876434W&amp;quot; };&lt;br /&gt;
            var purchaseOrder6 = new PurchaseOrder { AmountToPay = 7150.0m, CompanyName = &amp;quot;Company F&amp;quot;, PaymentDayTerms = 75, PoNumber = &amp;quot;1423474U&amp;quot; };&lt;br /&gt;
            var purchaseOrder7 = new PurchaseOrder { AmountToPay = 3150.0m, CompanyName = &amp;quot;Company G&amp;quot;, PaymentDayTerms = 75, PoNumber = &amp;quot;1932344O&amp;quot; };&lt;br /&gt;
            var purchaseOrder8 = new PurchaseOrder { AmountToPay = 3190.0m, CompanyName = &amp;quot;Company H&amp;quot;, PaymentDayTerms = 75, PoNumber = &amp;quot;1123457Q&amp;quot; };&lt;br /&gt;
            var purchaseOrder9 = new PurchaseOrder { AmountToPay = 50.0m, CompanyName = &amp;quot;Company I&amp;quot;, PaymentDayTerms = 75, PoNumber =   &amp;quot;1595344R&amp;quot; };&lt;br /&gt;
            var purchaseOrder10 = new PurchaseOrder { AmountToPay = 2150.0m, CompanyName = &amp;quot;Company J&amp;quot;, PaymentDayTerms = 75, PoNumber = &amp;quot;656734L&amp;quot; };&lt;br /&gt;
&lt;br /&gt;
            CreateConnection();&lt;br /&gt;
&lt;br /&gt;
            SendPayment(payment1);&lt;br /&gt;
            SendPayment(payment2);&lt;br /&gt;
            SendPayment(payment3);&lt;br /&gt;
            SendPayment(payment4);&lt;br /&gt;
            SendPayment(payment5);&lt;br /&gt;
            SendPayment(payment6);&lt;br /&gt;
            SendPayment(payment7);&lt;br /&gt;
            SendPayment(payment8);&lt;br /&gt;
            SendPayment(payment9);&lt;br /&gt;
            SendPayment(payment10);&lt;br /&gt;
&lt;br /&gt;
            SendPurchaseOrder(purchaseOrder1);&lt;br /&gt;
            SendPurchaseOrder(purchaseOrder2);&lt;br /&gt;
            SendPurchaseOrder(purchaseOrder3);&lt;br /&gt;
            SendPurchaseOrder(purchaseOrder4);&lt;br /&gt;
            SendPurchaseOrder(purchaseOrder5);&lt;br /&gt;
            SendPurchaseOrder(purchaseOrder6);&lt;br /&gt;
            SendPurchaseOrder(purchaseOrder7);&lt;br /&gt;
            SendPurchaseOrder(purchaseOrder8);&lt;br /&gt;
            SendPurchaseOrder(purchaseOrder9);&lt;br /&gt;
            SendPurchaseOrder(purchaseOrder10);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private static void SendPayment(Payment payment)&lt;br /&gt;
        {&lt;br /&gt;
            SendMessage(payment.Serialize(), &amp;quot;CardPayment&amp;quot;);&lt;br /&gt;
            Console.WriteLine(&amp;quot; Payment Sent {0}, £{1}&amp;quot;, payment.CardNumber, payment.AmountToPay); &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private static void SendPurchaseOrder(PurchaseOrder purchaseOrder)&lt;br /&gt;
        {&lt;br /&gt;
            SendMessage(purchaseOrder.Serialize(), &amp;quot;PurchaseOrder&amp;quot;);&lt;br /&gt;
            Console.WriteLine(&amp;quot; Purchase Order Sent {0}, £{1}, {2}, {3}&amp;quot;, purchaseOrder.CompanyName, purchaseOrder.AmountToPay, purchaseOrder.PaymentDayTerms, purchaseOrder.PoNumber); &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private static void CreateConnection()&lt;br /&gt;
        {&lt;br /&gt;
            _factory = new ConnectionFactory { HostName = &amp;quot;localhost&amp;quot;, UserName = &amp;quot;guest&amp;quot;, Password = &amp;quot;guest&amp;quot; };&lt;br /&gt;
            _connection = _factory.CreateConnection();&lt;br /&gt;
            _model = _connection.CreateModel();&lt;br /&gt;
            _model.ExchangeDeclare(ExchangeName, &amp;quot;direct&amp;quot;);&lt;br /&gt;
            _model.QueueDeclare(CardPaymentQueueName, true, false, false, null);&lt;br /&gt;
            _model.QueueDeclare(PurchaseOrderQueueName, true, false, false, null);&lt;br /&gt;
&lt;br /&gt;
            _model.QueueBind(CardPaymentQueueName, ExchangeName, &amp;quot;CardPayment&amp;quot;);&lt;br /&gt;
            _model.QueueBind(PurchaseOrderQueueName, ExchangeName, &amp;quot;PurchaseOrder&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private static void SendMessage(byte[] message, string routingKey)&lt;br /&gt;
        {                       &lt;br /&gt;
            _model.BasicPublish(ExchangeName, routingKey, null, message);          &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Consumer 1 (Payment) ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  class Program&lt;br /&gt;
    {&lt;br /&gt;
        private static ConnectionFactory _factory;&lt;br /&gt;
        private static IConnection _connection;&lt;br /&gt;
&lt;br /&gt;
        private const string ExchangeName = &amp;quot;DirectRouting_Exchange&amp;quot;;&lt;br /&gt;
        private const string CardPaymentQueueName = &amp;quot;CardPaymentDirectRouting_Queue&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            _factory = new ConnectionFactory { HostName = &amp;quot;localhost&amp;quot;, UserName = &amp;quot;guest&amp;quot;, Password = &amp;quot;guest&amp;quot; };&lt;br /&gt;
            using (_connection = _factory.CreateConnection())&lt;br /&gt;
            {&lt;br /&gt;
                using (var channel = _connection.CreateModel())&lt;br /&gt;
                {&lt;br /&gt;
                    channel.ExchangeDeclare(ExchangeName, &amp;quot;direct&amp;quot;);&lt;br /&gt;
                    channel.QueueDeclare(CardPaymentQueueName, true, false, false, null);&lt;br /&gt;
                    channel.QueueBind(CardPaymentQueueName, ExchangeName, &amp;quot;CardPayment&amp;quot;);&lt;br /&gt;
                    channel.BasicQos(0, 1, false);&lt;br /&gt;
&lt;br /&gt;
                    var consumer = new QueueingBasicConsumer(channel);&lt;br /&gt;
                    channel.BasicConsume(CardPaymentQueueName, false, consumer);&lt;br /&gt;
&lt;br /&gt;
                    while (true)&lt;br /&gt;
                    {                        &lt;br /&gt;
                        var ea = consumer.Queue.Dequeue();&lt;br /&gt;
                        var message = (Payment)ea.Body.DeSerialize(typeof(Payment));                        &lt;br /&gt;
                        var routingKey = ea.RoutingKey;&lt;br /&gt;
                        channel.BasicAck(ea.DeliveryTag, false);&lt;br /&gt;
                        Console.WriteLine(&amp;quot;--- Payment - Routing Key &amp;lt;{0}&amp;gt; : {1} : {2}&amp;quot;, routingKey, message.CardNumber, message.AmountToPay);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Consumer 1 (PurchaseOrder) ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  class Program&lt;br /&gt;
    {&lt;br /&gt;
        private static ConnectionFactory _factory;&lt;br /&gt;
        private static IConnection _connection;&lt;br /&gt;
&lt;br /&gt;
        private const string ExchangeName = &amp;quot;DirectRouting_Exchange&amp;quot;;&lt;br /&gt;
        private const string PurchaseOrderQueueName = &amp;quot;PurchaseOrderDirectRouting_Queue&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            _factory = new ConnectionFactory { HostName = &amp;quot;localhost&amp;quot;, UserName = &amp;quot;guest&amp;quot;, Password = &amp;quot;guest&amp;quot; };&lt;br /&gt;
            using (_connection = _factory.CreateConnection())&lt;br /&gt;
            {&lt;br /&gt;
                using (var channel = _connection.CreateModel())&lt;br /&gt;
                {&lt;br /&gt;
                    channel.ExchangeDeclare(ExchangeName, &amp;quot;direct&amp;quot;);&lt;br /&gt;
                    channel.QueueDeclare(PurchaseOrderQueueName, true, false, false, null);&lt;br /&gt;
                    channel.QueueBind(PurchaseOrderQueueName, ExchangeName, &amp;quot;PurchaseOrder&amp;quot;);&lt;br /&gt;
                    channel.BasicQos(0, 1, false);&lt;br /&gt;
&lt;br /&gt;
                    var consumer = new QueueingBasicConsumer(channel);&lt;br /&gt;
                    channel.BasicConsume(PurchaseOrderQueueName, false, consumer);&lt;br /&gt;
&lt;br /&gt;
                    while (true)&lt;br /&gt;
                    {&lt;br /&gt;
                        var ea = consumer.Queue.Dequeue();&lt;br /&gt;
                        var message = (PurchaseOrder)ea.Body.DeSerialize(typeof(PurchaseOrder));&lt;br /&gt;
                        var routingKey = ea.RoutingKey;&lt;br /&gt;
                        channel.BasicAck(ea.DeliveryTag, false);&lt;br /&gt;
&lt;br /&gt;
                        Console.WriteLine(&amp;quot;-- Purchase Order - Routing Key &amp;lt;{0}&amp;gt; : {1}, £{2}, {3}, {4}&amp;quot;, routingKey, message.CompanyName, message.AmountToPay, message.PaymentDayTerms, message.PoNumber); &lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>AliIybar</name></author>	</entry>

	</feed>