> > I'm unable to route messages through a fixed path using Qpid 0.24 under
> > CentOS 6.4.
> >
> > I have three brokers:
> > amqps://qpid1:5671
> > amqps://qpid2:5671
> > amqps://qpid3:5671
> >
> > qpid1, qpid2, and qpid3 are the hostnames of three separate CentOS virtual
> > machines. Each machine has all three hosts listed in the /etc/hosts file.
> > They are communicating successfully over the SSL-encrypted 5671 port.
> >
> > I'm trying to use qpid-route to automatically forward messages sent to
> > qpid1's broker to qpid3's broker via qpid2 (i.e., qpid1 -> qpid2 -> qpid3).
> > The network topology is such that qpid1 and qpid3 are not directly
> > connected but are both connected to qpid2. I can successfully route
> > messages from qpid1 to qpid2, and qpid2 to qpid3, but not from qpid1 to
> > qpid3.
> >
> > This is what I tried:
> >
> > qpid-route --transport=ssl
> > --ssl-certificate=/etc/pki/CA/certs/qpid-client.crt
> > --ssl-key=/etc/pki/CA/private/qpid-client.key dynamic add
> > amqps://qpid2:5671 amqps://qpid1:5671 amq.topic
> >
> > qpid-route --transport=ssl
> > --ssl-certificate=/etc/pki/CA/certs/qpid-client.crt
> > --ssl-key=/etc/pki/CA/private/qpid-client.key dynamic add
> > amqps://qpid3:5671 amqps://qpid2:5671 amq.topic
> >
> > I have modified the spout and drain programs to use the above certificates.
> > When I issue the following spout command, I receive the message (using
> > drain) on qpid2 but not on qpid3:
> >
> > ./spout --broker=amqps://qpid1:5671 amq.topic
> >
> > When I issue this spout command, I receive the message on qpid3:
> >
> > ./spout --broker=amqps://qpid2:5671 amq.topic
> >
> > How can I get qpid2 to forward the messages received from qpid1 to qpid3?
> >
> > Thanks,
> > Sam
> >
>
> I followed this post
> http://qpid.2158936.n2.nabble.com/Dynamic-routing-between-disconnected-exchanges-td7598100.html
> and was able to get message relaying (qpid1 -> qpid2 -> qpid3) working by
> setting the federation-tag option in my /etc/qpid/qpidd.conf file
> I'll have to explore that option further and try to understand what it does.
>
> --Sam
>
>
I finally discovered my underlying problem. I had created qpid2 and qpid3 as
VMware Workstation clones. Therefore qpid2 and qpid3 had the same broker ID as
qpid1. These broker IDs were being saved in the /var/lib/qpidd/.mbrokerdata
file. Every time I restarted the qpidd daemons, they were importing this saved
value. I stopped the daemons on qpid2 and qpid3, deleted the .mbrokerdata file
on both of them, and restarted the daemons. This caused unique broker IDs to be
generated for qpid2 and qpid3. Message relaying is working perfectly now.
--Sam