首页 文章

连接到Heroku上托管的JMX

提问于
浏览
0

我的应用程序中有一个加载项,它位于Heroku的私有空间中 . 该附加组件在配置变量中暴露了JMX_URL . 我想构建自己的 Health 指标页面,该页面将连接到附加组件的JMX,从mbeans读取属性并公开它们 . JMX_URL具有以下格式:

jmx://username:password@host:port

如何正确构建有效的JMX服务URL并 Build 成功的连接?我的应用程序是否也应该托管在同一个私有空间中才能做到这一点?任何帮助将在这个主题上受到赞赏 .

1 回答

  • 0

    我已经使它工作,为了连接到私有空间中运行的附加组件的JMX,应该从在同一私有空间中运行的应用程序访问它,加载项的证书也必须在客户端的app密钥库中注册,以避免SSLHandshake错误 . 以下是 Build 连接的代码段:

    String url = "service:jmx:rmi:///jndi/rmi://[host]:[port]/jmxrmi";
    JMXServiceURL serviceURL = new JMXServiceURL(url);
    Map env = new HashMap();
    String[] creds = { "user", "password" };
    env.put(JMXConnector.CREDENTIALS, creds);
    JMXConnector cc = JMXConnectorFactory.connect(serviceURL, env);
    MBeanServerConnection mbsc = cc.getMBeanServerConnection();
    

相关问题