使用jmx监控weblogic服务器。建一个java工程,引入weblogic.jar到工程里面。
package com.tst.idc.weblogic;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Hashtable;
import javax.management.AttributeNotFoundException;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanAttributeInfo;
import javax.management.MBeanException;
import javax.management.MBeanInfo;
import javax.management.MBeanServerConnection;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import javax.management.ReflectionException;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
public class JMXWeblogic {
private static MBeanServerConnection connection;
private static JMXConnector connector;
private static String _DOMAIN_RUNTIME_SERVICE_OBJECTNAME=new String("com.bea:Name=DomainRuntimeService,Type=weblogic.management.mbeanservers.domainruntime.DomainRuntimeServiceMBean");
/**
* 实例化与Domain Runtime MBean Server的连接采用的事iiop协议
*
* @param hostname
* @param portString
* @param username
* @param password
* @throws Exception
*/
@SuppressWarnings("unchecked")
private void initConnection(String hostname, String portString,
String username, String password) throws Exception {
Integer portInteger = Integer.valueOf(portString);
int port = portInteger.intValue();
// String jndiroot = "/jndi/";
// String mserver = "weblogic.management.mbeanservers.domainruntime";
JMXServiceURL serviceURL=
new JMXServiceURL(
"service:jmx:iiop://"+hostname+":"+port+"/jndi/weblogic.management.mbeanservers.domainruntime");
System.out.println("Connection to:"+serviceURL);
Hashtable h=new Hashtable();
h.put(JMXConnectorFactory.PROTOCOL_PROVID