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

Reply via email to