<p>Hi James, I&#39;ve had to cope with this scenario as well and while I can&#39;t say that I&#39;ve handled it in the most effective way (I&#39;m keeping an in-memory queue which is drained while the connection is up and fills-up while the connection is down) I&#39;m wondering whether implementing a solution which assumes the existence of another rabbit-like middleware nearer to the publisher isn&#39;t just moving the problem somewhere else while at the same time making the whole infrastructure much more complex. Is there really a &quot;best way&quot; to deal with this kind of failures?</p>

<div class="gmail_quote">On Dec 26, 2011 1:46 AM, &quot;James Carr&quot; &lt;<a href="mailto:james.r.carr@gmail.com">james.r.carr@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
So one of the things I really have to commit to at work is come up with some kind of local buffering solution when central brokers are down. This is one hole in the infrastructure that naysayers use against me at work to convince other devs to use OracleAQ instead of RabbitMQ and it&#39;s been driving me insane (if not only for the excuse that it is okay when OracleAQ is down because that means the database is down and the public site is down anyway)! :)<br>

<br>I originally decided to just use local RabbitMQ brokers on each box that would be publishing with federated exchanges and while this worked great on the machines I have influence over the other departments refuse to install RabbitMQ on their servers because their public web servers are already strapped to capacity. So I&#39;m pretty much stuck with coming up with some little framework (I&#39;ll probably open source it) that I can have developers just use in their apps. Before I go this route does something like this already exist in java? In spring-amqp?<br>

<br>My initial idea is to just implement AmqpTemplate from spring-aqmp and have it push messages into a local ehcache (or some other local cache) whenever a connection is broken. I&#39;m open to other ideas or solutions, just need some fool proof way to handle this situation so I can get people to start using a more enlightened messaging solution.  :)<br>

<br>Thanks,<br>James
<br>_______________________________________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br>
<a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
<br></blockquote></div>