这是查找网桥状态的 JMX java 代码
import javax.management.MBeanServerConnection;
import java.net.MalformedURLException;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
import javax.naming.Context;
import java.util.*;
public class GetMessageBridgeStatus {
private static MBeanServerConnection connection;
private static JMXConnector connector;
public static void getMessageBridgeStatus(String hostname2,String port2,String username2,String password2,String wlname2, List<String> bridgeName) {
try
{
String hostname=hostname2;
String port=port2;
String username=username2;
String password=password2;
String wlname=wlname2;
getRuntimeMBeanServerConnection(hostname,port,username,password);
Iterator<String> iterator = bridgeName.iterator();
while(iterator.hasNext()){
String bName = iterator.next();
String bs = "com.bea:ServerRuntime="+wlname+",Name="+bName+",Type=MessagingBridgeRuntime,Location=" +wlname;
ObjectName service = new ObjectName(bs);
String status = connection.getAttribute(service,"State").toString();
String description = connection.getAttribute(service,"Description").toString();
System.out.println("Name: "+bName+" ::: Status: "+status +" ::: Description: "+description);
}catch(Exception e) {
e.printStackTrace();
}
}
public static void getRuntimeMBeanServerConnection(String hostname1,String port1,String username1,String password1) throws Exception{
String jndiroot = "/jndi/";
String mserver = "weblogic.management.mbeanservers.domainruntime";
String hostname=hostname1;
String username=username1;
String password=password1;
Integer portInteger = Integer.valueOf(port1);
int port = portInteger.intValue();
JMXServiceURL serviceURL = new JMXServiceURL("t3", hostname, port,jndiroot + mserver);
Hashtable h = new Hashtable();
h.put(Context.SECURITY_PRINCIPAL, username);
h.put(Context.SECURITY_CREDENTIALS, password);
h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,"weblogic.management.remote");
connector = JMXConnectorFactory.connect(serviceURL, h);
connection = connector.getMBeanServerConnection();
}
}