Hi&nbsp;<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&#39;m looking for any plugin meeting requirements but no lucky. &nbsp; 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">&lt;<a href="mailto:simon@rabbitmq.com" target="_blank">simon@rabbitmq.com</a>&gt;</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&#39;m not sure weather it works.<br>
</blockquote>
<br></div></div>
Hi! The federation plugin definitely works :-) but I don&#39;t think it&#39;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>