Let me start by saying that I am almost certainly missing some important
detail on how exchanges/dynamic routes work. With that said, here is what I
am trying to do with qpid-cpp-0.24:
I have 3 exchanges on three machines, lets call the A, B and C. Each with
bound queues a, b and c
A has bidirectional dynamic routes with B
B has bidirectional dynamic routes with C
node A has no network connectivity with node C (only A <-> B and B<-> C)
What I want to do is to introduce a message on exchange A with destination c
and have the message first routed to B and then onto exchange C and queue c.
The network setup:
A <-192.168.0.2/24 ------- 192.268.0.1/24 -> B <- 192.168.1.2/24 -------
192.168.1.1/24 ->
The qpidd setup:
On each:
./qpid-config add exchange topic test-topic
./qpid-config add queue A/B/C
./qpid-config bind test-topic A/B/C A/B/C
on A:
./qpid-route -v dynamic add 192.168.0.1 192.168.0.2 test-topic
./qpid-route -v dynamic add 192.168.0.2 192.168.0.1 test-topic
on B
./qpid-route -v dynamic add 192.168.1.1 192.168.1.2 test-topic
./qpid-route -v dynamic add 192.168.1.2 192.168.1.1 test-topic
I can send messages from A to B (and b) as well as B to C (and c) but every
message I send to c from A gets dropped which says to me that A is never
being informed of the queue on C via B.
A route map is similarly puzzling:
[root [ at ] A bin]# ./qpid-route route map localhost
Finding Linked Brokers:
localhost:5672... Ok
192.168.0.1:5672... Ok
192.168.0.2:5672... Ok
192.168.1.1:5672... [Errno 110] Connection timed out
192.168.1.1:5672... [Errno 110] Connection timed out
Dynamic Routes:
Exchange test-topic:
192.168.0.1:5672 => localhost:5672
192.168.0.2:5672 <=> 192.168.0.1:5672
192.168.1.1:5672 => 192.168.0.1:5672
Static Routes:
none found
This says to me that the IP address of C is being sent to A via B.. which,
as I understand dynamic routes, should not happen (because I'm not doing
routing between them).
Any help would be greatly appreciated. I believe that this should be
possible and I think there is some fundamental concept that I'm missing but
I am stuck at the moment.
Thanks!
--Andrew
detail on how exchanges/dynamic routes work. With that said, here is what I
am trying to do with qpid-cpp-0.24:
I have 3 exchanges on three machines, lets call the A, B and C. Each with
bound queues a, b and c
A has bidirectional dynamic routes with B
B has bidirectional dynamic routes with C
node A has no network connectivity with node C (only A <-> B and B<-> C)
What I want to do is to introduce a message on exchange A with destination c
and have the message first routed to B and then onto exchange C and queue c.
The network setup:
A <-192.168.0.2/24 ------- 192.268.0.1/24 -> B <- 192.168.1.2/24 -------
192.168.1.1/24 ->
The qpidd setup:
On each:
./qpid-config add exchange topic test-topic
./qpid-config add queue A/B/C
./qpid-config bind test-topic A/B/C A/B/C
on A:
./qpid-route -v dynamic add 192.168.0.1 192.168.0.2 test-topic
./qpid-route -v dynamic add 192.168.0.2 192.168.0.1 test-topic
on B
./qpid-route -v dynamic add 192.168.1.1 192.168.1.2 test-topic
./qpid-route -v dynamic add 192.168.1.2 192.168.1.1 test-topic
I can send messages from A to B (and b) as well as B to C (and c) but every
message I send to c from A gets dropped which says to me that A is never
being informed of the queue on C via B.
A route map is similarly puzzling:
[root [ at ] A bin]# ./qpid-route route map localhost
Finding Linked Brokers:
localhost:5672... Ok
192.168.0.1:5672... Ok
192.168.0.2:5672... Ok
192.168.1.1:5672... [Errno 110] Connection timed out
192.168.1.1:5672... [Errno 110] Connection timed out
Dynamic Routes:
Exchange test-topic:
192.168.0.1:5672 => localhost:5672
192.168.0.2:5672 <=> 192.168.0.1:5672
192.168.1.1:5672 => 192.168.0.1:5672
Static Routes:
none found
This says to me that the IP address of C is being sent to A via B.. which,
as I understand dynamic routes, should not happen (because I'm not doing
routing between them).
Any help would be greatly appreciated. I believe that this should be
possible and I think there is some fundamental concept that I'm missing but
I am stuck at the moment.
Thanks!
--Andrew