Hi <span style="font-family:arial,sans-serif;font-size:14px">Simon,</span><div><font face="arial, sans-serif"><span style="font-size:14px">Thanks for your reply. I'm looking for any plugin meeting requirements but no lucky. So it seems that we have to sync two brokers without transferring messages by ourselves by api. The worst thing is that we may have to sync definitions whenever we declare a new exchange ,queue or binding.</span></font></div>
<div class="gmail_extra"><br><br><div class="gmail_quote">2012/12/17 Simon MacMullen <span dir="ltr"><<a href="mailto:simon@rabbitmq.com" target="_blank">simon@rabbitmq.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">On 15/12/2012 3:07PM, Íõ¿¡²¨ wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
Suppose I have created two or more RabbitMQ nodes. For simplicity two<br>
nodes: X and Y. And they are NOT within the same cluster due to the<br>
WAN. Now our applications will declare exchanges dynamically via Java<br>
client libraries on node X. Is there any way that the same exchanges are<br>
declared on Y automatically? Maybe the queues as well.<br>
a constraint: no messages sent to X are copied to Y because we cannot<br>
handle duplicate messages up to now.<br>
<br>
The federation plugin seems be a choice, but I'm not sure weather it works.<br>
</blockquote>
<br></div></div>
Hi! The federation plugin definitely works :-) but I don't think it's what you want; it will transfer messages...<br>
<br>
If you want to sync two brokers without transferring messages at all then your best bet is to write a script to export definitions at X (using the mgmt plugin /api/definitions), transfer the config JSON to Y, and reapply it at Y.<br>
<br>
Cheers, Simon<br>
</blockquote></div><br></div>