我正在尝试连接到Jboss Server以编程方式访问JMX Beans。
请参考以下代码:
HashMap<String, String[]> environment = new HashMap();
String[] credentials = new String[] {"abc", "abc"};
environment.put(JMXConnector.CREDENTIALS, credentials);
JMXServiceURL url = new JMXServiceURL(
"service:jmx:remoting-jmx://SERVER_URL:PORT");
RemotingConnectorProvider provider= new RemotingConnectorProvider();
JMXConnector jmxc = provider.newJMXConnector(url, environment);
jmxc.connect();
在运行此程序时,我遇到异常:
错误:JBREM000200:远程连接失败:javax.security.sasl.SaslException:身份验证失败:所有可用的身份验证机制都失败 线程“main”中的异常javax.security.sasl.SaslException:身份验证失败:所有可用的身份验证机制都失败 在org.jboss.remoting3.remote.ClientConnectionOpenListener $ Capabilities.handleEvent(ClientConnectionOpenListener.java:365) 在org.jboss.remoting3.remote.ClientConnectionOpenListener $ Capabilities.handleEvent(ClientConnectionOpenListener.java:214) 在org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:72) at org.xnio.channels.TranslatingSuspendableChannel.handleReadable(TranslatingSuspendableChannel.java:189) at org.xnio.channels.TranslatingSuspendableChannel $ 1.handleEvent(TranslatingSuspendableChannel.java:103) 在org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:72) at org.xnio.channels.TranslatingSuspendableChannel.handleReadable(TranslatingSuspendableChannel.java:189) at org.xnio.ssl.JsseConnectedSslStreamChannel.handleReadable(JsseConnectedSslStreamChannel.java:180) at org.xnio.channels.TranslatingSuspendableChannel $ 1.handleEvent(TranslatingSuspendableChannel.java:103) 在org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:72) 在org.xnio.nio.NioHandle.run(NioHandle.java:90) 在org.xnio.nio.WorkerThread.run(WorkerThread.java:184) at ...异步调用...(未知来源) 在org.jboss.remoting3.EndpointImpl.doConnect(EndpointImpl.java:268) 在org.jboss.remoting3.EndpointImpl.doConnect(EndpointImpl.java:250) 在org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:359) 在org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:343) 在org.jboss.remoting3.jmx.RemotingConnector.connect(RemotingConnector.java:147) 在org.jboss.remoting3.jmx.RemotingConnector.connect(RemotingConnector.java:96) 在MBeanTest.main(MBeanTest.java:51)
我认为服务器配置正确,因为我可以使用visualvm连接。我认为我的程序有问题。
PS - SERVER_URL和PORT在这里是虚拟值。