本来是准备弄一下snmp的,配置snmp的过程顺利的有点超出想象。snmp配置完了之后呢?说用这个和com通讯,这个真不知道怎么玩。在SNMP的学习过程中了解到一些新名词,开始实践一下jmx。
官方的小例子真的很好,花了点时间,搞下来,修改一些配置属性,根据需要找到相应的所需的jar包。程序跑起来了,效果很好,就是新概念好像更多了。
下面是一个简单的整理过程:
首先,可以预见的需要一些准备的配置信息,我这里是
String protocol = "t3";
int port = 7001;
String hostname = "192.168.56.1";
String jndiroot = "/jndi/";
String mserver = "weblogic.management.mbeanservers.domainruntime";
用户名和密码
然后,使用java的数据类型将这些信息整理起来。
JMXConnectorFactory
用于创建 JMX API 连接器客户端的工厂 connect( JMXServiceURL serviceURL)
JMXServiceURL服务器的地址。此类的实例是不可变的
JMXConnector JMX API 连接器的客户端。使用此类型的对象可建立到连接器服务器的连接。
MBeanServerConnection
getMBeanServerConnection()
返回一个代表远程 MBean 服务器的 MBeanServerConnection 对象
ObjectName 表示 MBean 的对象名,或者能够与多个 MBean 名称相匹配的模式。此类的实例是不可变的,它的几种匹配模式能方便的找到你需要的类,但是注意jdk版本的区别。
MBeanServerConnection 此接口表示了与 MBean 服务器(无论是本地的还是远程的)进行通信的一种方式.
下面是连���的一段代码:
Hashtable h = new Hashtable();
h.put(Context.SECURITY_PRINCIPAL, "weblogic");
h.put(Context.SECURITY_CREDENTIALS, "weblogic1");
h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,"weblogic.management.remote");
connector = JMXConnectorFactory.connect(serviceURL, h);
connection = connector.getMBeanServerConnection();
在这之后,这些陌生的类,基本上就可以说拜拜了。
下面只是使用ObjectName这个类型。这也是这里最灵活的,怎么用关键属性找到自己所需要的对象,再获取该对象的属性值,这是一个熟能生巧的过程啊。不熟悉api感觉根本没法操作。
难怪说这个监控整个weblogic,这些操作能够拿到weblogic的服务器上的元数据啊。
该贴由hui.chen转至本版2014-11-11 15:06:55
该贴由hui.chen转至本版2014-11-11 15:08:04