JMX(Java Management Extensions,即Java管理扩展)
来源:互联网 发布:linux远程连接工具 编辑:程序博客网 时间:2024/05/21 06:36
JMX(Java Management Extensions,即Java管理扩展)
Jmx可以将按指定规则创建的javabean保存到java程序进程中并且可以通过jconsole动态修改bean的值当程序中需要配置某些数据时 如果将配置信息写死在代码中需要修改代码后重启写死在配置文件中修改配置文件后需要重启如果将数据从配置中读出并且写入jmx中可以直接修改内存中的配置值
实现举例首先必须创建一个接口接口必须以Mbean结尾
package com.test;
public interface SysConfigueMBean{
public String getUrl();
public void setUrl(String url);
public String getClassDriver() ;
public void setClassDriver(String classDriver);
public String getUname() ;
public void setUname(String uname);
public String getPwd() ;
public void setPwd(String pwd);
}
创建实现类
package com.test;
class SysConfigue{
private Stringurl="jdbc:oracle:thin:@192.168.100.XXX:1521:plm";
private StringclassDriver="oracle.jdbc.driver.OracleDriver";
private Stringuname="XXX";
private Stringpwd="xxxxx";
public String getUrl() {
returnurl;
}
public void setUrl(String url) {
this.url = url;
}
public String getClassDriver() {
returnclassDriver;
}
public void setClassDriver(String classDriver) {
this.classDriver = classDriver;
}
public String getUname() {
returnuname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getPwd() {
returnpwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
创建一个主类
package com.test;
import java.lang.management.ManagementFactory;
import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.ObjectName;
public class JMXTest {
public static void main(String[] args)throws Exception {
MBeanServer mBeanServer = null;
if (MBeanServerFactory.findMBeanServer(null).size() > 0) {
mBeanServer =
(MBeanServer)MBeanServerFactory.findMBeanServer(null).get(0);
} else {
mBeanServer = ManagementFactory.getPlatformMBeanServer();
}
ObjectName name = new ObjectName("11:as=1");//中间必须有个:后面的必须是个键值对 类如abc:test=test
SysConfigue sc=new SysConfigue();
sc.setClassDriver("abc");
mBeanServer.registerMBean(sc, name);
Thread.sleep(Long.MAX_VALUE);
}
}
找到jdk根目录\bin\jconsole.exe 打开后 选中本地进程中的 类名称是你名称的那个点击连接 打开Mbean试图 找到对应ObjectName中的参数类如 是abc:test=test1找到abc目录下的test1 属性 就可以看到配置的信息
获取对应的值
ObjectName name = new ObjectName("11:as=1");
Object obj=mBeanServer.getAttribute(name, "Url");
System.out.println(obj);
- JMX(Java Management Extensions,即Java管理扩展)
- JMX(Java Management Extensions,即Java管理扩展)
- JMX是Java Management Extensions 的简写,即Java管理扩展
- Java Management Extensions (JMX)
- Java Management Extensions (JMX)
- Spring+JMX(Java Management Extensions)
- JSR 3: Java Management Extensions (JMX) Specification
- java Management Extensions (JMX): End of Trail
- JMX -JAVA管理扩展
- JMX -JAVA管理扩展
- Getting Started with Java Management Extensions (JMX): Developing Management and Monitoring Solutions
- Getting Started with Java Management Extensions (JMX): Developing Management and Monitoring Solution
- Java Management extentsions(jmx)与tomcat
- JMX(Java Management Extension)学习
- Getting Started with Java Management Extensions (JMX): Developing Management and Monitoring Solutions 2005/01/09 01:44:07
- 对照Java学习Swift--扩展(Extensions)
- Java管理扩展指南之JMX技术总览
- Java管理扩展指南之JMX技术总览
- 慢慢来,等待也是一种美好
- nyoj - 概率计算 926
- pip
- 第8周项目5:定期存款利息计算器
- 一个简单的ACE网络库Server和Client Demo
- JMX(Java Management Extensions,即Java管理扩展)
- 枚举上月的日期
- 移动web前端开发之常见bug
- 利用结构体来实现高性能洗发扑克牌程序同时探讨const与指针
- Mac OS 中常用的svn命令
- network: Android 网络判断(wifi、3G与其他)
- div
- T售前经验谈
- 使用 VisualVM 进行性能分析及调优