cancel
Showing results for 
Search instead for 
Did you mean: 

JmxSecurityException

Former Member
0 Kudos

I have an external JMX client which connects successfully and I can read all the MBeans. I can also call

MBeanInfo mBeanInfo = MBeanServerConnection.getMBeanInfo(objectName);

on the returned mbeans. But all this has to happen in the same thread. When I try to call methods like

getMBeanInfo()

getAttribute()

on the MBeanServerConnection from a different thread I get the following exception. Any idea?

com.sap.engine.services.jmx.exception.JmxConnectorException: Runtime exception in connector occurred

at com.sap.engine.services.jmx.connector.p4.P4ConnectorServerImpl.invokeMbs(P4ConnectorServerImpl.java:74)

at com.sap.engine.services.jmx.connector.p4.P4ConnectorServerImplp4_Skel.dispatch(P4ConnectorServerImplp4_Skel.java:64)

at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:294)

at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:183)

at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:119)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)

at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)

Caused by: com.sap.engine.services.jmx.exception.JmxSecurityException: Caller Guest not authorized, only role administrators is allowed to access JMX

at com.sap.engine.services.jmx.JmxServerFrame.checkMBeanPermissionInternal(JmxServerFrame.java:182)

at com.sap.engine.services.jmx.JmxServerFrame.checkMBeanPermission(JmxServerFrame.java:135)

at com.sap.engine.services.jmx.MBeanServerSecurityWrapper.getAttribute(MBeanServerSecurityWrapper.java:233)

at com.sap.engine.services.jmx.MBeanServerInvoker.invokeMbs(MBeanServerInvoker.java:139)

at com.sap.engine.services.jmx.ClusterInterceptor.invokeMbs(ClusterInterceptor.java:220)

at com.sap.engine.services.jmx.ClusterInterceptor.getAttribute(ClusterInterceptor.java:549)

at com.sap.engine.services.jmx.MBeanServerInterceptorInvoker.invokeMbs(MBeanServerInterceptorInvoker.java:84)

at com.sap.engine.services.jmx.connector.p4.P4ConnectorServerImpl.invokeMbs(P4ConnectorServerImpl.java:61)

... 10 more

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

I had a similar problem, and had to catch the exception, then get a new reference/connection to the MBeanServer. I have had similar trouble registering an remote notification listener with the MBeanServerDelegate mBean. Has anyone else seen this?