I am trying to set up a federation between two brokers and
am unable to get a route working between the two.  I've
included a script below that I've been using and it may be easier
to understand than my verbal explanation.  
Exchange A on localhost port 5673 is the destination.
Exchange B on localhost port 5674 is the source. 
So I'm trying to route from B > A.  

As part of the script I send this message using spout:
spout -b localhost:5674 B.Q
Message(properties={'spout-id':
'1209db3e-225c-40f1-8017-3c62bd7120b2:0'})

It never arrives at Exchange A. 
Can anyone tell me what I've missed? 



# qpid-route route map localhost:5674

Finding Linked Brokers:
    localhost:5674... Ok

Dynamic Routes:
  none found

Static Routes:
  none found



# qpid-route route map localhost:5673

Finding Linked Brokers:
    localhost:5673... Ok
    localhost:5674... Ok

Dynamic Routes:
  none found

Static Routes:

  localhost:5673(ex=A.EX) <= localhost:5674(queue=B.Q)


In case the output below from qpid-stat gets wrapped badly,
the qpid-stat shows 
1 msg
1 msgIn
0 msgOut

# qpid-stat -b localhost:5674 -q
Queues
  queue                                     dur  autoDel excl  msg   msgIn  
msgOut  bytes  bytesIn  bytesOut  cons bind
  
=========================================================================================================================
  B.Q                                                           1     1      0  
     0      0        0         0     1
  bf340247-2a41-4863-baf9-f42a5aaa2a56:0.0      Y        Y      0     0      0  
     0      0        0         1     2



## Begin script
#!/bin/bash

# Exchange A. Start a process as a daemon.  Use non-default
# port to ensure commands are pointing to correct daemon. 
/usr/sbin/qpidd -d -p 5673 --pid-dir /root/brokerA/
--data-dir /root/brokerA

# Add exchange, queue, and bind the two with wildcard. 
qpid-config -b localhost:5673 add exchange topic A.EX
qpid-config -b localhost:5673 add queue A.Q
qpid-config -b localhost:5673 bind A.EX A.Q '#'

# Exchange B. Start a process as a daemon.  Use non-default
# port to ensure commands are pointing to correct daemon. 
/usr/sbin/qpidd -d -p 5674  --pid-dir /root/brokerB/
--data-dir /root/brokerB

# Add queue to B. 
qpid-config -b localhost:5674 add queue B.Q

# Add routing queue 
qpid-route queue add localhost:5673 localhost:5674 A.EX B.Q



# Add route between A and B. ??? necessary ???
#qpid-route route add localhost:5673 localhost:5674 A.EX B.Q
'#'


echo "Go to another session and type 'drain -f -b
localhost:5673 A.Q'"
#drain -f -b localhost:5673 A.Q
echo "Press enter when done"
read

echo "Sending spout -b localhost:5674 B.Q"
/usr/share/doc/python-qpid-0.18/examples/api/spout -b
localhost:5674 B.Q
echo
echo
echo

echo "For reference: commands to shut down brokers."
echo "/usr/sbin/qpidd -d -p 5673 --pid-dir /root/brokerA/
--data-dir /root/brokerA -q "
echo "/usr/sbin/qpidd -d -p 5674  --pid-dir /root/brokerB/
--data-dir /root/brokerB -q "

## End script

Thanks,
Gary

-- 
sque...@sdf.lonestar.org
SDF Public Access UNIX System - http://sdf.lonestar.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org

Reply via email to