Below is the thread dump. I am running AMQ 4.1.1 on WinXP. The broker has a 'stop', 'start', and 'terminateJVM' operation. Seems to me that you should be able to stop, then start the broker?
Name: main State: WAITING on [EMAIL PROTECTED] Total blocked: 33 Total waited: 5 Stack trace: java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:474) org.apache.activemq.console.command.StartCommand.waitForShutdown(StartCommand.java:107) org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:68) org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:50) org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:65) org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:50) org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:46) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:585) org.apache.activemq.console.Main.runTaskClass(Main.java:202) org.apache.activemq.console.Main.main(Main.java:91) Name: Reference Handler State: WAITING on [EMAIL PROTECTED] Total blocked: 12 Total waited: 90 Stack trace: java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:474) java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) Name: Finalizer State: WAITING on [EMAIL PROTECTED] Total blocked: 12 Total waited: 54 Stack trace: java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132) java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) Name: Timer-0 State: WAITING on [EMAIL PROTECTED] Total blocked: 0 Total waited: 3 Stack trace: java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:474) java.util.TimerThread.mainLoop(Timer.java:483) java.util.TimerThread.run(Timer.java:462) Name: RMI TCP Accept-0 State: RUNNABLE Total blocked: 0 Total waited: 0 Stack trace: java.net.PlainSocketImpl.socketAccept(Native Method) java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384) java.net.ServerSocket.implAccept(ServerSocket.java:450) java.net.ServerSocket.accept(ServerSocket.java:421) sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:334) java.lang.Thread.run(Thread.java:595) Name: RMI TCP Accept-1099 State: RUNNABLE Total blocked: 0 Total waited: 0 Stack trace: java.net.PlainSocketImpl.socketAccept(Native Method) java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384) java.net.ServerSocket.implAccept(ServerSocket.java:450) java.net.ServerSocket.accept(ServerSocket.java:421) sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:334) java.lang.Thread.run(Thread.java:595) Name: derby.antiGC State: WAITING on [EMAIL PROTECTED] Total blocked: 0 Total waited: 1 Stack trace: java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:474) org.apache.derby.impl.services.monitor.AntiGC.run(Unknown Source) java.lang.Thread.run(Thread.java:595) Name: RMI LeaseChecker State: TIMED_WAITING Total blocked: 0 Total waited: 0 Stack trace: java.lang.Thread.sleep(Native Method) sun.rmi.transport.DGCImpl$LeaseChecker.run(DGCImpl.java:310) java.lang.Thread.run(Thread.java:595) Name: derby.rawStoreDaemon State: TIMED_WAITING on [EMAIL PROTECTED] Total blocked: 0 Total waited: 90 Stack trace: java.lang.Object.wait(Native Method) org.apache.derby.impl.services.daemon.BasicDaemon.rest(Unknown Source) org.apache.derby.impl.services.daemon.BasicDaemon.run(Unknown Source) java.lang.Thread.run(Thread.java:595) Name: ActiveMQ Scheduler State: WAITING on [EMAIL PROTECTED] Total blocked: 0 Total waited: 5 Stack trace: java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:474) edu.emory.mathcs.backport.java.util.concurrent.DelayQueue.take(DelayQueue.java:152) edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:590) edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:477) edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674) java.lang.Thread.run(Thread.java:595) Name: RMI TCP Connection(3)-192.168.1.100 State: TIMED_WAITING on [EMAIL PROTECTED] Total blocked: 1 Total waited: 16 Stack trace: java.lang.Object.wait(Native Method) com.sun.jmx.remote.internal.ArrayNotificationBuffer.fetchNotifications(ArrayNotificationBuffer.java:344) com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer.fetchNotifications(ArrayNotificationBuffer.java:122) com.sun.jmx.remote.internal.ServerNotifForwarder.fetchNotifs(ServerNotifForwarder.java:169) javax.management.remote.rmi.RMIConnectionImpl.fetchNotifications(RMIConnectionImpl.java:1213) sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:585) sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294) sun.rmi.transport.Transport$1.run(Transport.java:153) java.security.AccessController.doPrivileged(Native Method) sun.rmi.transport.Transport.serviceCall(Transport.java:149) sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460) sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) java.lang.Thread.run(Thread.java:595) Name: JMX server connection timeout 35 State: TIMED_WAITING on [EMAIL PROTECTED] Total blocked: 0 Total waited: 55 Stack trace: java.lang.Object.wait(Native Method) com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:150) java.lang.Thread.run(Thread.java:595) Name: RMI TCP Connection(9)-192.168.1.100 State: RUNNABLE Total blocked: 0 Total waited: 0 Stack trace: sun.management.ThreadImpl.getThreadInfo0(Native Method) sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:142) sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:120) sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:585) sun.management.MXBeanSupport.invoke(MXBeanSupport.java:632) sun.management.MXBeanSupport.invoke(MXBeanSupport.java:94) com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213) com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220) com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815) com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784) javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1408) javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81) javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1245) javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1341) javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:782) sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:585) sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294) sun.rmi.transport.Transport$1.run(Transport.java:153) java.security.AccessController.doPrivileged(Native Method) sun.rmi.transport.Transport.serviceCall(Transport.java:149) sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460) sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) java.lang.Thread.run(Thread.java:595) rajdavies wrote: > > yep - the VM should just shutdown - could you send us a dump of all > the threads ? > > On Jul 31, 2007, at 10:47 PM, ttmdev wrote: > >> >> Hi, >> >> I am running AMQ 4.1.1 and when I 'stop' my broker via the jconsole >> 'stop' >> operation the broker shuts down, the 'org.apache.activemq' MBean entry >> disappears, but the VM stays up. It seems the main activemq console >> thread >> is hung on a 'wait' method. Shouldn't the VM also shut down? >> >> Thanks, >> Joe >> -- >> View this message in context: http://www.nabble.com/stopping-broker- >> via-jconsole-tf4196693s2354.html#a11935735 >> Sent from the ActiveMQ - User mailing list archive at Nabble.com. >> > > > -- View this message in context: http://www.nabble.com/stopping-broker-via-jconsole-tf4196693s2354.html#a11946903 Sent from the ActiveMQ - User mailing list archive at Nabble.com.