ClientProvider.java 文件源码

java
阅读 23 收藏 0 点赞 0 评论 0

项目:HeliosStreams 作者:
/**
    * {@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;
   }
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号