/**
* {@inheritDoc}
* @see javax.management.remote.JMXConnectorProvider#newJMXConnector(javax.management.remote.JMXServiceURL, java.util.Map)
*/
@Override
public JMXConnector newJMXConnector(final JMXServiceURL serviceURL, final Map<String, ?> env) throws IOException {
if (!serviceURL.getProtocol().equals(PROTOCOL_NAME)) {
throw new MalformedURLException("Protocol not [" + PROTOCOL_NAME + "]: " +
serviceURL.getProtocol());
}
final Map<String, ?> environment = env==null ? new HashMap<String, Object>() : env;
final String remoteHost = serviceURL.getHost();
final int remotePort = serviceURL.getPort();
final int localPort = SSHTunnelManager.getInstance().getPortForward(remoteHost, remotePort);
final String format = environment.containsKey(DELEGATE_PROTOCOL_FORMAT_KEY) ? environment.get(DELEGATE_PROTOCOL_FORMAT_KEY).toString() : DEFAULT_DELEGATE_PROTOCOL_FORMAT;
final JMXServiceURL tunneledURL = JMXHelper.serviceUrl(format, "localhost", localPort);
final JMXConnector connector = JMXConnectorFactory.newJMXConnector(tunneledURL, environment);
final UpdateableJMXConnector ujmx = new UpdateableJMXConnector(connector, serviceURL, environment);
connector.addConnectionNotificationListener(this, this, ujmx);
return ujmx;
}
ClientProvider.java 文件源码
java
阅读 23
收藏 0
点赞 0
评论 0
项目:HeliosStreams
作者:
评论列表
文章目录