我的应用程序中有一个加载项,它位于Heroku的私有空间中 . 该附加组件在配置变量中暴露了JMX_URL . 我想构建自己的 Health 指标页面,该页面将连接到附加组件的JMX,从mbeans读取属性并公开它们 . JMX_URL具有以下格式:
jmx://username:password@host:port
如何正确构建有效的JMX服务URL并 Build 成功的连接?我的应用程序是否也应该托管在同一个私有空间中才能做到这一点?任何帮助将在这个主题上受到赞赏 .
我已经使它工作,为了连接到私有空间中运行的附加组件的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();
1 回答
我已经使它工作,为了连接到私有空间中运行的附加组件的JMX,应该从在同一私有空间中运行的应用程序访问它,加载项的证书也必须在客户端的app密钥库中注册,以避免SSLHandshake错误 . 以下是 Build 连接的代码段: