我已经用JMS实现了对weblogic的server Name,Listen Port,webApp的名称、domain名称。现在想实现对weblogic的执行线程(executeQueue)、集群(cluster)、堆(heap)等,不知道应该怎么实现?
能,用jmx ,google一下这方面知识,由于从weblogic8升级到weblogic9发生了比较大的变化,以前对于weblogic8比较熟悉的人,也许到了weblogic9就不一定熟悉了,还需要了解才行,特别是监控方面差别比较大,由于9采用的jdk版本是1.5,监控8实现的java方式就不能用于9了。
就目前我得测试结论是:java实现weblogic的自定义监控对于9和10都是适用的,但是对于11却没有测试,还不知道方式是否相同,实际上从文档里面也可以看出,8系列是采用的许多管理的MBean接口在9中已经不推荐使用,标明是过时的了。
我这次通过java编程来实现weblogic9的自定义监控就发现,很多地方完全地不同了。
从界面上来看,已经完全不同于8,命令行监控方式也有一些大的变化。
这是我取得监控接口封装的类:
package lht.monitor.weblogic.main9;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Hashtable;
import javax.management.MBeanServerConnection;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
import javax.naming.Context;
public class SetEnvironment {
protected static MBeanServerConnection connection;
private static JMXConnector connector;
private static final ObjectName service;
// Initializing the object name for DomainRuntimeServiceMBean
// so it can be used throughout the class.
static {
try {
service = new ObjectName( "com.bea:Name=DomainRuntimeService,Type=weblogic.management.mbeanservers.domainruntime.DomainRuntimeServiceMBean");
}catch (MalformedObjectNameException e) {
throw new AssertionError(e.getMessage());
}
}
/*
* Initialize connection to the Domain Runtime MBean Server
*/
public static void initConnection(String hostname, String portString,String username, String password) throws IOException, MalformedURLException {
String protocol = "t3";
Integer portInteger = Integer.valueOf(portString);
int port = portInteger.intValue();
String jndiroot = "/jndi/";
String mserver = "weblogic.management.mbeanservers.domainruntime";
JMXServiceURL serviceURL = new JMXServiceURL(protocol, hostname, port, jndiroot + mserver);
Hashtable hash = new Hashtable();
hash.put(Context.SECURITY_PRINCIPAL, username);
hash.put(Context.SECURITY_CREDENTIALS, password);
hash.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,"weblogic.management.remote");
connector = JMXConnectorFactory.connect(serviceURL,hash);
connection = connector.getMBeanServerConnection();
}
/*
* This MBean is the root of the runtime MBean hierarchy, and
* each server in the domain hosts its own instance.
*/
public static ObjectName[] getServerRuntimes(String servername,String hostname, String portString,String username, String password) throws Exception{
ObjectName[] bj = (ObjectName[])connection.getAttribute(service,servername);
return obj;
}
}
第1题:
下列不属于Java语言鲁棒性特点的是 ( )
A.Java能检查程序在编译和运行时的错误
B.Java能运行虚拟机实现跨平台
C.Java自己操纵内存减少了内存出错的可能性
D.Java还实现了真数组,避免了覆盖数据的可能
第2题:
用二极管也能组成逆变电路,对吗?
第3题:
【填空题】在Java中,能实现线程间通信的流是____。
第4题:
weblogic与webshphere的描述哪个是不正确的:()
A. 它们都是实现J2EE规范的软件产品
B. 它们都属于java中间件产品
C. 它们都是位于前端和后端数据库之间负责业务逻辑处理和展示的
D. 它们都必须用图形方式安装
第5题:
宿舍楼都有监控,没人会偷东西,偷了也能找回来,所以不用锁门。这种想法对吗?