JMX协议的实现由IIOP和JMXMP,其连接方式有所不同:
IIOP如下:
Hashtable<String, Object> env = new Hashtable<String, Object>(); String prividerUrl = "iiop://" + host + ":" + port; String[] credentials = new String[] { userName, userPwd }; env.clear(); env.put(Context.PROVIDER_URL, prividerUrl); env.put(JMXConnector.CREDENTIALS, credentials); env.put(Context.AUTHORITATIVE, userName); env.put(Context.SECURITY_CREDENTIALS, userPwd); try { JMXServiceURL url = new JMXServiceURL("iiop", host, port, "/jndi/corbaname::1.2@" + host + ":" + port + "#jmx/rmi/RMIConnectorServer"); connector = JMXConnectorFactory.connect(url, env); } catch (MalformedURLException e) { throw new OperationNoSuccessException("connection to connector server fail,either no legal protocol could be found in a specification string or the string could not be parsed", e); } catch (IOException e) { throw new OperationNoSuccessException("connection to connector server fail", e); }
JMXMP如下:
try { url = new JMXServiceURL("service:jmx:jmxmp://" + host + ":" + port); } catch (MalformedURLException e) { throw new RuntimeException(e); } Hashtable<String, Object> env = new Hashtable<String, Object>(); env.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, "com.sun.jmx.remote.protocol"); env.put("jmx.remote.profiles", "SASL/PLAIN"); env.put("jmx.remote.sasl.callback.handler", new SaslUserPasswordCallbackHandler(userName, userPwd)); env.put(GenericConnector.MESSAGE_CONNECTION, new MuxSocketClientMessageConnection(url.getHost(), url.getPort())); // install SASL/PLAIN mechanism provider SaslClientSecurityProvider.install(); if (url != null) { return JMXConnectorFactory.connect(url, env); }
相关推荐
Java Management Extensions(JMX)是Java平台上的一个标准管理框架,它允许开发人员对应用程序进行监控和...通过理解JMX协议、Eclipse插件体系结构以及相关API的使用,我们可以更好地利用这个工具进行复杂系统管理。
1. **远程JMX连接**:Java默认使用Remote Method Invocation (RMI) 协议来实现远程JMX连接。通过设置`-Dcom.sun.management.jmxremote.rmi.port`和`-Dcom.sun.management.jmxremote.port`等参数,可以启用RMI服务,...
本文将深入探讨如何利用RMI远程连接到Java虚拟机(JVM),并通过JMX获取JVM的相关参数。 RMI是Java提供的一种机制,允许在不同JVM之间透明地调用对象的方法,就像这些对象都在同一台机器上一样。RMI的核心组件包括...
在生产环境中, ActiveMQ的监控非常重要,jmx监控是其中一种常用的监控方式。 在ActiveMQ中开启jmx监控需要进行一些配置,包括编辑bin/activemq文件和conf/activemq.xml文件,以及设置jmx.password和jmx.access文件...
然而,有时会遇到由于 RMI 协议的限制,导致无法连接到 JMX 服务的情况。RMI 协议默认只绑定到本地 IP 地址,如果需要从远程地址访问,或者服务器有多个网络接口,需要进行以下配置: 1. 修改 `tongweb.xml` 文件中...
它们定义了客户端和服务器之间的通信协议,如JMX RMI连接器和JMX JMXMP连接器。连接器提供了安全机制,确保只有授权的客户端才能访问MBean服务器。 五、JMX工具和API 1. JMX API:包括MBean服务器接口、MBean接口...
2. **提供远程访问**:JMXri允许远程客户端通过标准的JMX协议连接到MBean服务器,执行操作,获取或修改MBean的属性,甚至调用MBean的方法。 3. **安全管理**:JMXri支持安全配置,可以通过权限设置来限制对MBean的...
`HtmlAdaptorServer`是JMX提供的一种机制,它允许通过HTTP协议访问和管理MBeans。这个服务器实现了一个JMX远程过程调用(RMI)接口,使得远程客户端可以通过Web浏览器或其他HTTP客户端与JMX代理交互,从而查看或更改...
Java Management Extensions(JMX)是Java平台上的一个标准,它提供了一种管理和监控应用程序、操作系统、网络设备和其他Java应用程序的方式。这个"jmx-1.2.1(jmxri+jmxtools) jar"包含了JMX的两个核心组件:JMX ...
JMX可以与其他Java技术结合使用,如Spring框架中的Spring JMX,它提供了更方便的集成方式。此外,许多开源工具和应用服务器,如JConsole、VisualVM等,都利用JMX来提供可视化的监控界面。 总的来说,`jmx-1_2_1-ri....
5. JMX连接器和协议: JMX连接器允许远程客户端连接到MBean Server。Java提供了一些预定义的连接器,如RMI和JMXMP。此外,还可以自定义连接器以适应特定的安全和网络需求。连接器使用JMX Connect API来建立和管理...
总结来说,"cmdline-jmxclient.zip"提供了一个命令行工具,用于通过JMX协议连接到JVM,尤其是Tomcat这样的Java应用服务器,以便进行远程监控和管理。这在日常运维、性能优化、故障排查等场景中非常有用,尤其是在...
连接器通常包括了协议适配器,用于处理不同的传输协议。 #### 四、JMX开发环境准备 JMX作为一个标准规范,已经被Sun Microsystems在JDK的不同版本中实现了。具体而言: - **对于JDK 1.3、1.4**:需要手动下载SUN...
3. **管理接口**:开发者需要定义管理接口,这些接口将暴露MBean的功能,使得管理者可以通过JMX协议进行访问。接口可以是JavaBeans属性、操作和通知。 4. **代理(Proxy)**:在客户端,可以使用JMX代理来访问远程...
一个Java虚拟机可以有一个或多个MBean服务器,而MBean服务器之间可以通过JMX连接器进行通信。 4. **JMX连接器** JMX连接器提供了客户端与MBean服务器之间的通信通道。它们可以是RMI、HTTP、JMS等各种协议的实现,...
3. JMX Connectors:JMX连接器允许客户端与MBean服务器通信,支持RMI、HTTP、HTTPS等多种协议。 4. Notifications:MBeans可以通过发送通知来通告系统状态的变化,客户端可以订阅这些通知。 5. Attributes, ...
`jmxri.jar`包含了远程连接、安全性以及传输协议相关的类。 2. `jmxremote_optional.jar`: 这是一个可选的JAR包,提供了额外的远程连接选项。它可能包含了对不同传输协议的支持,如RMI、HTTP、HTTPS等,以及认证和...
JMX的远程API支持定义传输协议的扩展,这意味着开发者可以根据需要实现不同的协议来支持JMX的远程通信,使得JMX可以跨平台和网络环境工作。同时,JMX还提供了环境参数摘要,列出了所有远程API使用的环境参数,方便...
通过协议适配器和连接器,MBeans 与远程应用程序交互,提供服务。 3. **分布服务层(Distributed Service Level)**:这一层定义了跨代理的管理接口和构件,允许远程管理者操作不同代理层上的资源。虽然 JMX 规范未...
- **JMX连接器**:提供了一种标准的方式来远程访问MBean Server,允许客户端通过网络进行管理操作。 ### 2. JMX 使用场景 JMX广泛应用于以下场景: - **系统监控**:例如,监控内存使用、线程状态、CPU负载等。 ...