Eric, I had a rough look and realized that the startJmxAdapter and stopJmxAdapter methods are not properly positioned, for example the startJmxAdapter is inside a createNewInstance method where as it will only be called when you are starting with starting the axis2 as well. This will not be invoked when starting synapse on an existing axis2 container.
However the stopJmxAdapter is called in the destroy method without checking whether we started the instance or not, which will be called when you try to stop synapse even on an environment where you started synapse on an existing axis2 container. This will lead to some issues. At the same time the issue is due to the fact that the SynapseConfiguration.destroy calls the RMIRegistryController#shutdown before the JmxAdapter#stop being called. I will have a further look and fix the issue if you like, or you could of course provide a patch. I also realized that we still have to clear out the shutdown process a bit more, but this particular issue is not directly because of the wrong order. Thanks, Ruwan On Sat, Apr 25, 2009 at 2:51 PM, Hubert, Eric <[email protected]>wrote: > Hi all, > > I'll have a look at this and will fix it. From the stack it looks like the > shutdown order is wrong. Unfortunately I'll be travelling today without > having access to the net today, but tonight or tomorrow I'll submit a patch > to correct this if no one beats me to it. > > Regards, > Eric > > > -----Original Message----- > > From: Ruwan Linton [mailto:[email protected]] > > Sent: Saturday, April 25, 2009 6:28 AM > > To: [email protected] > > Subject: Error while stoping the Synapse server > > > > Devs, > > > > On the latest build I am seeing an error while trying to stop Synapse, > > by killing the process (CTRL+C) on Unix. > > > > Is this local to me? I do have some local changes but they have > > nothing to do with this I guess. :-( > > > > 2009-04-25 09:49:40,580 [-] [Thread-9] INFO SynapseServer Shutting > > down Apache Synapse... > > 2009-04-25 09:49:40,582 [-] [HttpCoreNIOListener] INFO > > HttpCoreNIOListener HTTPS Listener Shutdown > > 2009-04-25 09:49:40,583 [-] [Thread-9] INFO VFSTransportListener VFS > > Listener Shutdown > > 2009-04-25 09:49:40,583 [-] [HttpCoreNIOListener] INFO > > HttpCoreNIOListener HTTP Listener Shutdown > > 2009-04-25 09:49:40,584 [-] [Thread-9] INFO MailTransportListener > > MAILTO Listener Shutdown > > 2009-04-25 09:49:40,585 [-] [HttpCoreNIOSender] INFO > > HttpCoreNIOSender HTTPS Sender Shutdown > > 2009-04-25 09:49:40,586 [-] [HttpCoreNIOSender] INFO > > HttpCoreNIOSender HTTP Sender Shutdown > > 2009-04-25 09:49:40,586 [-] [Thread-9] INFO VFSTransportSender VFS > > Sender Shutdown > > 2009-04-25 09:49:40,587 [-] [Thread-9] INFO JMSSender JMS Sender > Shutdown > > 2009-04-25 09:49:40,588 [-] [Thread-9] INFO RMIRegistryController > > Removing the RMI registry bound to port : 1099 > > 2009-04-25 09:49:40,604 [-] [Thread-9] INFO JmxAdapter > > JMXConnectorServer stopping on > > service:jmx:rmi:///jndi/rmi://ruwan:1099/synapse > > 2009-04-25 09:49:40,761 [-] [Thread-9] ERROR JmxAdapter Error while > > stopping remote JMX connector > > java.io.IOException: Cannot bind to URL: > > javax.naming.CommunicationException [Root exception is > > java.rmi.NoSuchObjectException: no such object in table] > > at > > > javax.management.remote.rmi.RMIConnectorServer.newIOException(RMIConnector > > Server.java:814) > > at > > > javax.management.remote.rmi.RMIConnectorServer.stop(RMIConnectorServer.jav > > a:572) > > at org.apache.synapse.JmxAdapter.stop(JmxAdapter.java:140) > > at > > > org.apache.synapse.Axis2SynapseController.stopJmxAdapter(Axis2SynapseContr > > oller.java:583) > > at > > > org.apache.synapse.Axis2SynapseController.destroy(Axis2SynapseController.j > > ava:143) > > at > > org.apache.synapse.ServerManager.doDestroy(ServerManager.java:252) > > at > > org.apache.synapse.ServerManager.destroy(ServerManager.java:117) > > at org.apache.synapse.SynapseServer$1.run(SynapseServer.java:88) > > Caused by: javax.naming.CommunicationException [Root exception is > > java.rmi.NoSuchObjectException: no such object in table] > > at > > > com.sun.jndi.rmi.registry.RegistryContext.unbind(RegistryContext.java:156) > > at > > > com.sun.jndi.toolkit.url.GenericURLContext.unbind(GenericURLContext.java:2 > > 54) > > at javax.naming.InitialContext.unbind(InitialContext.java:375) > > at > > > javax.management.remote.rmi.RMIConnectorServer.stop(RMIConnectorServer.jav > > a:565) > > ... 6 more > > Caused by: java.rmi.NoSuchObjectException: no such object in table > > at > > > sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemot > > eCall.java:247) > > at > > sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223) > > at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:343) > > at sun.rmi.registry.RegistryImpl_Stub.unbind(Unknown Source) > > at > > > com.sun.jndi.rmi.registry.RegistryContext.unbind(RegistryContext.java:152) > > ... 9 more > > 2009-04-25 09:49:40,772 [-] [Thread-9] INFO SynapseServer Apache > > Synapse shutdown complete > > 2009-04-25 09:49:40,773 [-] [Thread-9] INFO SynapseServer Halting JVM > > > > Thanks, > > Ruwan > > > > -- > > Ruwan Linton > > Senior Software Engineer & Product Manager; WSO2 ESB; > http://wso2.org/esb > > WSO2 Inc.; http://wso2.org > > email: [email protected]; cell: +94 77 341 3097 > > blog: http://ruwansblog.blogspot.com > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > -- Ruwan Linton Senior Software Engineer & Product Manager; WSO2 ESB; http://wso2.org/esb WSO2 Inc.; http://wso2.org email: [email protected]; cell: +94 77 341 3097 blog: http://ruwansblog.blogspot.com
