JMXMPConnectorServer stops accepting after AccessControlException
Hi,
I have an application managed by JMX using the JMXMP connector (Java 1.5). I am restricting which hosts are allowed to manage this application by using java.net.SocketPermission entires in a security policy file.
Attempting to connect to the application from a host which does not have the allowed SocketPermission results in an AccessControlException with reason access denied because there is no permission to accept the connection. So far so good.
The problem is the thread that was listening for new JMXMP client connections seems to get terminated by the AccessControlException. If I dump the number of running threads before and after the connection request, I see there is one less thread.
After this I can no longer access the MBeanServer of the application remotely. All connection attempts (from both allowed or disallowed hosts) result in a TCP connection being opened, but nothing on the server end responds to it.
Is the java.net.SocketPermission the correct way to restrict which hosts can access an application?
Here's part of the traceback:
...
com.sun.jmx.remote.socket.SocketConnectionServer.accept(SocketConnectionServer.java:173)
com.sun.jmx.remote.generic.SynchroMessageconnectionserverImipl.accept(SynchroMessageConnectionServerIpml.java:47)
javax.management.remote.generic.GenericConnectorServer$Receiver.run(GenericConnectorServer.java:340)
Any help would be appreciated...
thanks,
John.

