Hi, Using AMQ4.1.1 with standalone server with embedded broker. Client apps have Spring message listeners. If we have client and server running ok and then server is shutdown, along with the broker inside it, any client that is left open cannot cleanly shutdown as it hangs trying to close its message listeners. Below is the stack of the main thread that is hung:
- Object.wait(long, int) line: not available [native method] - CondVar(Object).wait() line: 199 - CondVar.await() line: 75 - ArrayBlockingQueue.take() line: 318 - FutureResponse.getResult() line: 42 - ResponseCorrelator.request(Object) line: 75 - ActiveMQConnection.syncSendPacket(Command) line: 1175 - ActiveMQSession.syncSendPacket(Command) line: 1663 - ActiveMQMessageConsumer.close() line: 542 - JmsUtils.closeMessageConsumer(MessageConsumer) line: 144 - SimpleMessageListenerContainer.doShutdown() line: 219 - SimpleMessageListenerContainer(AbstractJmsListeningContainer).shutdown() line: 294 - SimpleMessageListenerContainer(AbstractJmsListeningContainer).destroy() line: 264 - DisposableBeanAdapter.destroy() line: 145 - DefaultListableBeanFactory(DefaultSingletonBeanRegistry).destroyBean(String, DisposableBean) line: 347 - DefaultListableBeanFactory(DefaultSingletonBeanRegistry).destroySingleton(String) line: 320 - DefaultListableBeanFactory(DefaultSingletonBeanRegistry).destroySingletons() line: 293 - FileSystemXmlApplicationContext(AbstractApplicationContext).destroyBeans() line: 706 - FileSystemXmlApplicationContext(AbstractApplicationContext).doClose() line: 684 - FileSystemXmlApplicationContext(AbstractApplicationContext).close() line: 651 - TopologyServiceFactory.dispose(Preferences) line: 567 - Activator.stop(BundleContext) line: 35 - BundleContextImpl$3.run() line: 1040 - AccessController.doPrivileged(PrivilegedExceptionAction<T>) line: 242 - BundleContextImpl.stop() line: 1036 - BundleHost.stopWorker(int) line: 457 - BundleHost(AbstractBundle).suspend(boolean) line: 526 - Framework.suspendBundle(AbstractBundle, boolean) line: 1148 - StartLevelManager.decFWSL(int, AbstractBundle[]) line: 675 - StartLevelManager.doSetStartLevel(int, AbstractBundle) line: 291 - StartLevelManager.shutdown() line: 261 - SystemBundle.suspend() line: 188 - Framework.shutdown() line: 622 - Framework.close() line: 525 - OSGi.close() line: 41 - EclipseStarter.shutdown() line: 399 - EclipseStarter.run(String[], Runnable) line: 197 - NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] - NativeMethodAccessorImpl.invoke(Object, Object[]) line: 64 - DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 - Method.invoke(Object, Object...) line: 615 - Main.invokeFramework(String[], URL[]) line: 504 - Main.basicRun(String[]) line: 443 - Main.run(String[]) line: 1169 - Main.main(String[]) line: 1144 This results in the client JVM never exiting! Should there be some timeout on this or something to guard against this since it is a common scenario I would have thought? Thanks /Tom -- View this message in context: http://www.nabble.com/Closing-a-MessageConsumer-hangs-if-broker-already-down-tf4820370s2354.html#a13790718 Sent from the ActiveMQ - User mailing list archive at Nabble.com.