<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
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;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        mso-fareast-language:EN-US;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";
        mso-fareast-language:EN-US;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:784614367;
        mso-list-type:hybrid;
        mso-list-template-ids:-206935670 68157441 68157443 68157445 68157441 68157443 68157445 68157441 68157443 68157445;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></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 lang="IT" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">That’s what I thought as well, although I’m thinking about a couple of issues about it:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span lang="EN-US" style="font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="color:#1F497D">Lack of knowledge about Erlang, which is the language I’d have to use to build a custom exchange, I guess<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span lang="EN-US" style="font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">
</span></span></span><![endif]><span lang="EN-US" style="color:#1F497D">Amount of memory it would require to store the entire history in memory. It needn’t be in memory actually, but I’m not sure what would be the recommended way if the storage has to be carried
out by exchange itself. Mnesia perhaps, would it make sense?<o:p></o:p></span></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:12.0pt;color:#1F497D;mso-fareast-language:IT">_______________________________________________________</span><span style="font-size:12.0pt;color:#1F497D;mso-fareast-language:IT">________</span><span style="font-size:12.0pt;font-family:"Times New Roman","serif";color:#1F497D;mso-fareast-language:IT">
<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#1F497D;mso-fareast-language:IT">Simone Busoli</span></b><span style="font-size:12.0pt;font-family:"Times New Roman","serif";color:#1F497D;mso-fareast-language:IT"><br>
</span><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:gray;mso-fareast-language:IT">Direzione risorse umane e segreteria generale</span><span style="font-size:12.0pt;font-family:"Times New Roman","serif";color:#1F497D;mso-fareast-language:IT">
</span><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:gray;mso-fareast-language:IT">– Sistemi informativi gestione sportiva
<br>
<i>Collaboratore</i></span><span style="font-size:12.0pt;font-family:"Times New Roman","serif";color:#1F497D;mso-fareast-language:IT"><o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#1F497D;mso-fareast-language:IT">Ferrari S.p.A. </span></b><span style="color:#1F497D;mso-fareast-language:IT">
</span><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:gray;mso-fareast-language:IT">Via Ascari 55/57, 41053, Maranello (MO); Italy</span><span style="color:#1F497D;mso-fareast-language:IT"><br>
</span><b><span lang="DE" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:gray;mso-fareast-language:IT">T</span></b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:gray;mso-fareast-language:IT"> (+39) 0536-949.850</span><span style="color:#1F497D;mso-fareast-language:IT"><br>
</span><b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:gray;mso-fareast-language:IT">E</span></b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:gray;mso-fareast-language:IT">
<u><a href="mailto:simone.busoli@ferrari.com"><span style="color:blue">simone.busoli@ferrari.com</span></a></u>
<u><a href="http://www.ferrari.com/"><span style="color:blue">www.ferrari.com</span></a></u></span><span style="color:#1F497D;mso-fareast-language:IT">
<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-language:IT">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-language:IT"> Jon Brisbin
[mailto:jon@jbrisbin.com] <br>
<b>Sent:</b> Wednesday, June 01, 2011 3:38 PM<br>
<b>To:</b> Busoli, Simone<br>
<b>Cc:</b> rabbitmq-discuss@lists.rabbitmq.com<br>
<b>Subject:</b> Re: [rabbitmq-discuss] How to handle full exchange history delivery<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="color:black">I've been seriously considering adding this functionality to the Riak-backed custom exchange. It was something I thought I would add first time through but didn't.<br>
<br>
You'd have to use a custom exchange. Not sure if that's an issue in your scenario or not.<br>
<br>
<br>
Thanks!<br>
<br>
Jon Brisbin<br>
http//jbrisbin.com<br>
<br>
<o:p></o:p></span></p>
<div class="MsoNormal" align="center" style="text-align:center"><span style="color:black">
<hr size="2" width="100%" align="center" id="zwchr">
</span></div>
<blockquote style="border:none;border-left:solid #1010FF 1.5pt;padding:0in 0in 0in 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><b><span style="font-family:"Helvetica","sans-serif";color:black">From:
</span></b><span style="font-family:"Helvetica","sans-serif";color:black">"Simone Busoli" <Simone.Busoli@ferrari.com><br>
<b>To: </b>rabbitmq-discuss@lists.rabbitmq.com<br>
<b>Sent: </b>Wednesday, June 1, 2011 5:52:24 AM<br>
<b>Subject: </b>[rabbitmq-discuss] How to handle full exchange history delivery<br>
<br>
<br>
</span><span style="font-size:12.0pt;font-family:"Helvetica","sans-serif";color:black;mso-fareast-language:IT"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black">I am trying to achieve a scenario in which messages are published from some data source into a RabbitMQ exchange and clients should be able to receive the full history of messages flown through that
exchange, regardless of the exact moment in time when they connect.</span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> </span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black">I’ve been thinking to solve it by setting up a proxy which subscribes to the exchange where messages are published using its own queue, keeps an internal storage of the messages and accepts requests
from clients. </span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black">When a request from a client arrives it just replays the full message history to the client by publishing the messages to the client queue (supplied in the ReplyTo field),
<b>then</b> binds the client queue to the messages exchange, so that the client from this moment onwards starts receiving the “live” messages, and is pretty much unaware of what’s happened; it simply just receives the whole history.</span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> </span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black">Now I am under the impression that there’s a fundamental flaw in this reasoning, since the proxy cannot know when the message history has completed and he can switch the client to the live stream,
because while it is replaying historical messages to the client other live messages might be arriving on the proxy’s queue, thus getting into an endless loop.</span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> </span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black">I’m probably missing something obvious, any advice about how others would approach this scenario is appreciated.</span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> </span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black">Simone</span><span style="color:black"><o:p></o:p></span></p>
<p><span style="font-size:7.5pt;font-family:"Helvetica","sans-serif";color:black">_________________________________________________________________________________________________________________<br>
Questo messaggio e da intendersi esclusivamente ad uso del destinatario e puo contenere informazioni che sono di natura privilegiata, confidenziale<br>
o non divulgabile secondo le leggi vigenti. Se il lettore del presente messaggio non e il destinatario designato, o il dipendente/agente responsabile<br>
per la consegna del messaggio al destinatario designato, si informa che ogni disseminazione, distribuzione o copiatura di questa comunicazione e
<br>
strettamente proibita anche ai sensi del decreto legislativo 196/03 . Se avete ricevuto questo messaggio per errore, vi preghiamo di notificarcelo<br>
immediatamente a mezzo e-mail di risposta e successivamente di procedere alla cancellazione di questa e-mail e relativi allegati dal vostro sistema.<br>
_________________________________________________________________________________________________________________<br>
This message is intended only for the use of the addressee and may contain information that is privileged, confidential and exempt from
<br>
disclosure under applicable law. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering the
<br>
message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly
<br>
prohibited. If you have received this e-mail in error, please notify us immediately by return e-mail and delete this e-mail and all attachments from
<br>
your system.<br>
_________________________________________________________________________________________________________________</span><span style="font-family:"Helvetica","sans-serif";color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Helvetica","sans-serif";color:black;mso-fareast-language:IT"><br>
</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Helvetica","sans-serif";color:black;mso-fareast-language:IT">_______________________________________________<br>
rabbitmq-discuss mailing list<br>
</span><span style="font-size:12.0pt;font-family:"Helvetica","sans-serif";color:black;mso-fareast-language:IT"><a href="mailto:rabbitmq-discuss@lists.rabbitmq.com"><span lang="EN-US">rabbitmq-discuss@lists.rabbitmq.com</span></a></span><span lang="EN-US" style="font-size:12.0pt;font-family:"Helvetica","sans-serif";color:black;mso-fareast-language:IT"><br>
</span><span style="font-size:12.0pt;font-family:"Helvetica","sans-serif";color:black;mso-fareast-language:IT"><a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss"><span lang="EN-US">https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</span></a></span><span lang="EN-US" style="font-size:12.0pt;font-family:"Helvetica","sans-serif";color:black;mso-fareast-language:IT"><o:p></o:p></span></p>
</blockquote>
<p class="MsoNormal"><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman","serif";color:black;mso-fareast-language:IT"><o:p> </o:p></span></p>
</div>
</div>
</body>
<!--[object_id=#ferrari.com#]--><P align=left><FONT size=1>_________________________________________________________________________________________________________________<BR>Questo messaggio è da intendersi esclusivamente ad uso del destinatario e può contenere informazioni che sono di natura privilegiata, confidenziale<BR>o non divulgabile secondo le leggi vigenti. Se il lettore del presente messaggio non è il destinatario designato, o il dipendente/agente responsabile<BR>per la consegna del messaggio al destinatario designato, si informa che ogni disseminazione, distribuzione o copiatura di questa comunicazione è <BR>strettamente proibita anche ai sensi del decreto legislativo 196/03 . Se avete ricevuto questo messaggio per errore, vi preghiamo di notificarcelo<BR>immediatamente a mezzo e-mail di risposta e successivamente di procedere alla cancellazione di questa e-mail e relativi allegati dal vostro sistema.<BR>_________________________________________________________________________________________________________________<BR>This message is intended only for the use of the addressee and may contain information that is privileged, confidential and exempt from <BR>disclosure under applicable law. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering the <BR>message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly <BR>prohibited. If you have received this e-mail in error, please notify us immediately by return e-mail and delete this e-mail and all attachments from <BR>your system.<BR>_________________________________________________________________________________________________________________<BR></FONT></P></html>