Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
SVN Revision 447866
Description
When stopping the MOSGi RMI registry bundle when there are pending JMX connections, it throws:
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(RMIConnectorServer.java:804)
at javax.management.remote.rmi.RMIConnectorServer.stop(RMIConnectorServer.java:555)
at org.apache.felix.mosgi.jmx.rmiconnector.RmiConnectorActivator.stopRmiConnector(RmiConnectorActivator.java:196)
at org.apache.felix.mosgi.jmx.rmiconnector.RmiConnectorActivator.serviceChanged(RmiConnectorActivator.java:105)
at org.apache.felix.framework.util.EventDispatcher$4.run(EventDispatcher.java:838)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:835)
at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:704)
at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:635)
at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3420)
at org.apache.felix.framework.Felix.access$000(Felix.java:39)
at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:622)
at org.apache.felix.framework.ServiceRegistry.fireServiceChanged(ServiceRegistry.java:576)
at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:110)
at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:120)
at org.apache.felix.mosgi.jmx.registry.mx4j.tools.naming.NamingService.stop(NamingService.java:75)
at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:1119)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.felix.framework.util.SecureAction.stopActivator(SecureAction.java:602)
at org.apache.felix.framework.Felix.stopBundle(Felix.java:1815)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1001)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:263)
at java.lang.Thread.run(Thread.java:619)
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:160)
at com.sun.jndi.toolkit.url.GenericURLContext.unbind(GenericURLContext.java:254)
at javax.naming.InitialContext.unbind(InitialContext.java:416)
at javax.management.remote.rmi.RMIConnectorServer.stop(RMIConnectorServer.java:547)
... 21 more
Caused by: java.rmi.NoSuchObjectException: no such object in table
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:359)
at sun.rmi.registry.RegistryImpl_Stub.unbind(Unknown Source)
at com.sun.jndi.rmi.registry.RegistryContext.unbind(RegistryContext.java:156)
... 24 more
That behavior is detailed in http://download.java.net/jdk7/docs/api/javax/management/remote/rmi/RMIConnectorServer.html#stop()