Hi Kyrie, not sure if I understand your thoughts properly, but in normal A-->B federation (without -s option), B broker behaves as a fake client and subscribes to A. When -s is used, A initiates the connection to B and requests it to connect to itself. The main reason for this push-like option is to bypass potential firewall blocking B->A connection establishment.
About federation link reconnection (assuming A-->B pull route where B connects to A): if A is down, B periodically retries to connect to A, usually according to TCP retry scheme with doubled delays between two subsequent retries. These are managed by operating system. Once OS gives up, I *suppose* qpid broker invokes another request to the OS (so another full TCP retry scheme is followed), and the broker does so forever. Hope that helps. Kind regards, Pavel Moravec ----- Original Message ----- > From: "Jie Gao (Kyrie, HPIT-DS-CDC)" <jie....@hp.com> > To: users@qpid.apache.org > Sent: Monday, February 24, 2014 9:16:10 AM > Subject: Questions of qpid-route usage > > Hi all, > > I am really confused about this tool. Hope some kind soul can help to > explain the mechanism to me. > > If we want to add a route between 2 brokers, we can use qpid-route route add > ip:port ip:port exchange_type routingkey. Which means: > > A-->B > > A is a fake client and B will be the server. B will store all the route > information and also will be waiting for A's data. Inside qpid it uses TCP > protocol, so I guess B will be the server in the lower level(am I right?). > In this way, we can add a route without broker A. Which means, even if we > didn't start A, the route would still be added successfully. The problem is: > Can we always do this thing? Ummm...if we let A missing for a very long time > (at this time B and the route will always exist), then we start A again. > Does it still works? Also, if we let the route existed in B, will B being > busy(waiting for A's data) all the time? > > Another question is when we use -s option in qpid-route. I saw the help > document it said: " Configure the route in the source broker (create a push > route)." So does it mean A will be the server and B will be the fake client > here? > > -s [ --src-local ] Configure the route in the source broker (create a push > route). > > Thanks, > Kyrie > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org > For additional commands, e-mail: users-h...@qpid.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org