I'm trying to get two routers on different machines to re-connect through a
backup interface when the primary is down. I have two Redhat 6.2 Linux
machines (kernel 2.2.14) connected via ethernet. I am using the sample
router files (smqr1 & 2.properties). I've added a keepalive interval to the
routing connector and listener. I start them up and they connect just fine.
Now I unplug the cable to simulate a lost connection. Using a "netstat -na"
command to examine the socket states, I see that the socket on both sides is
still active and the Send-Q buffer gradually fills up. The socket never
closes until a unacceptably lengthy amount of time when the Send-Q buffer
finally fills up. This "hanging socket" keeps me from using a modem for a
backup connection because the swiftmq router never tries to open a new
socket since the old one is still hanging. 

Is there any way to make SwiftMQ do some type of hand-shake and close the
socket when it loses a connection? If not, is there some command that can be
issued to force SwiftMQ to drop a connection? Re-starting the router isn't
really an option because we may have many existing connections to a router
and only want to close the once that's been lost.

I've also noticed that the new jdk1.3 adds a SO_KEEPALIVE option for
sockets. Have you tried this?

Thanks,
Brian Duke

------------------------------------------------------
SwiftMQ developers mailing list * http://www.swiftmq.com
To unsubscribe from this list, send an eMail to 
[EMAIL PROTECTED] and write in the body of your message:
UNSUBSCRIBE developers <your-email-address>
Archive: http://www.mail-archive.com/developers@mail.iit.de/




Reply via email to