Posted By:
Andreas_Hubold
Posted On:
Tuesday, August 3, 2004 09:35 AM
Hi, I have a webapp running in Tomcat which uses an intra-vm connection to the SwiftMQ router (4.7.0). The router is started and stopped in the ServletContextListener. So far so good. If I redeploy that webapp (e.g. touch web.xml), the router is stopped correctly but restarting fails with the following Exception. ... startup: JMS Swiftlet com.swiftmq.swiftlet.SwiftletException: Address already in use at com.swiftmq.impl.jms.standard.JMSSwiftlet.b(Unknown Source) at com.swiftmq.impl.jms.standard.JMSSwiftlet.b(Unknown Source) at com.swiftmq.impl.jms.standard.JMSSwiftlet.startup(Unknown Source) at com.swiftmq.swiftlet.SwiftletManager.startUpSwiftlet(Unkn
More>>
Hi,
I have a webapp running in Tomcat which uses an intra-vm connection to the SwiftMQ router (4.7.0). The router is started and stopped in the ServletContextListener. So far so good.
If I redeploy that webapp (e.g. touch web.xml), the router is stopped correctly but restarting fails with the following Exception.
... startup: JMS Swiftlet
com.swiftmq.swiftlet.SwiftletException: Address already in use
at com.swiftmq.impl.jms.standard.JMSSwiftlet.b(Unknown Source)
at com.swiftmq.impl.jms.standard.JMSSwiftlet.b(Unknown Source)
at com.swiftmq.impl.jms.standard.JMSSwiftlet.startup(Unknown Source)
at com.swiftmq.swiftlet.SwiftletManager.startUpSwiftlet(Unknown Source)
at com.swiftmq.swiftlet.SwiftletManager.startKernelSwiftlets(Unknown Source)
at com.swiftmq.swiftlet.SwiftletManager.initSwiftlets(Unknown Source)
at com.swiftmq.swiftlet.SwiftletManager.startRouter(Unknown Source)
The router was correctly closed with
SwiftletManager.getInstance().shutdown()
before but it seems this doesn't close its socket. I noticed that restarting a router works anyway as long as the same SwiftletManager instance is used. However it doesn't work here, where another ClassLoader and thus another SwiftletManager instance is used.
Any ideas how to solve this problem?
BTW: the above error kills the whole Tomcat (System.exit ?) and I can't handle that error myself.
<<Less