I have a simple SwiftMQ setup (v2.1.2, sun jdk 1.3, Win2k), where my
application hosts a router with a single queue.  My app receives messages on
that queue, and sends to the queues of other instances of the same
application.  When all network connections use PlainSocketFactory,
everything works beautifully, but when I switch to JSSESocketFactory, any
operation that does a QueueConnection.close() (including
InitialContext.close()) takes exactly 60 seconds.  Everything still works
correctly if I'm patient, but I'm not usually that patient.  :)

During that 2 minutes, there's inevitably a thread with the following stack
trace:
        at
com.sun.net.ssl.internal.ssl.AppInputStream.close([DashoPro-V1.2-120198])
        at java.io.BufferedInputStream.close(BufferedInputStream.java:401)
        at java.io.FilterInputStream.close(FilterInputStream.java:162)
        at com.swiftmq.jms.ConnectionImpl.close(ConnectionImpl.java:572)
        ...

For now, I've worked around this by sharing a single InitialContext object,
rather than creating and closing new ones, and sharing a single
QueueConnection object.  When my application shuts down, it tries to close
both of these, which takes anywhere from 10 to 50 sec to close my
QueueConnection, and exactly 60 sec to close my InitialContext.  If I turn
off SSL, these each take <50ms, consistently.

Has anyone seen this before?  What are the implications of my workaround?

mike

------------------------------------------------------
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