- 浏览: 307513 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (195)
- 心情随想 (20)
- java基础 (30)
- 技术文章 (4)
- 在oracle的海洋中遨游 (25)
- unix (5)
- 没有意义 (6)
- 效率 (1)
- js (5)
- hibernate (2)
- jfreechart (3)
- 分析 (1)
- DW (2)
- on-line analytical processing (1)
- 人工智能理论 (10)
- weblogic (4)
- 我也cvs (0)
- TAM SSO 应用改造 (2)
- LADP (2)
- servlet (1)
- java 编码 (3)
- 智科 语录 (2)
- java 工作流 (1)
- swt (1)
- java pattern (1)
- xml和html基础 (19)
- c# (3)
- eclipse (1)
- db2 (4)
- 面试题 (0)
- english (2)
- Ruby (1)
- OLAP (3)
- 网友的智慧 (1)
- SOA (1)
- 搜索引擎 (4)
- 构建自己的报表工具 (1)
- JMX (1)
- 朝花朝拾 之少年记忆 (3)
- C语言 (2)
- struts2 (4)
- 元数据 数据仓库 (1)
- liferay (1)
- 分析工具 (0)
最新评论
-
yy8093:
只能在JDK1.4下监控WebLogic Server 8.x ...
weblogic JMX 中遇到的问题 -
di1984HIT:
问题找到了,就是1.4和1.5不兼容导致的,通过分析Objec ...
weblogic JMX 中遇到的问题_2 -
hillhill:
getServletContext().getRealPath ...
request.getRealPath("/") AIX不同与windows -
mrgood:
哥错了,这问题太傻逼了 一时没看出来
登录验证 struts2 -
mrgood:
LoginAction.java里面 if(getUserna ...
登录验证 struts2
JMX Java Management Extensions
Manageable resource:
可以被管理的资源可以是应用程序,设备或者存在的能够被java程序所访问或者包装的实体。通过JMX可以管理这些资源,应用程序能够暴露自己的组件,API或者附加的资源,使得JMX能够管理应用程序。
MBean Managed Bean
是一个java类 是符号jmx specification 所规定的命名和继承规范
动态 Mbeans 可在运行时定义属性和操作。这能力允许 Mbean 在装载时动态配置自己或根据它所处环境改变它的属性和操作
下面用一个案例来验证一下(是引用已经验证)
1.建立MBean
public interface HelloMBean {
//operations
public void sayHello();
public int add(int x,int y);
//attributes
//a read-only attribute called Name of type String
public String getName();
// a read-write attribute called CacheSize of type int
public int getCacheSize();
public void setCacheSize(int size);
}
2.建立实现MBean的类
public class Hello implements HelloMBean{
private final String name = "Reginald";
private int cacheSize = DEFAULT_CACHE_SIZE;
private static final int DEFAULT_CACHE_SIZE = 200;
public int add(int x, int y) {
// TODO 自动生成方法存根
return x+y;
}
public int getCacheSize() {
// TODO 自动生成方法存根
return this.cacheSize;
}
public String getName() {
// TODO 自动生成方法存根
return this.name;
}
public void sayHello() {
// TODO 自动生成方法存根
System.out.println("hello,world");
}
public synchronized void setCacheSize(int size) {
// TODO 自动生成方法存根
this.cacheSize=size;
}
}
3.客户端代码
import java.lang.management.*;
import javax.management.*;
import com.sun.jdmk.*;
import com.sun.jdmk.comm.HtmlAdaptorServer;
public class Main {
/**
* @param args
* @throws NullPointerException
* @throws MalformedObjectNameException
* @throws NotCompliantMBeanException
* @throws MBeanRegistrationException
* @throws InstanceAlreadyExistsException
*/
public static void main(String[] args) throws MalformedObjectNameException, NullPointerException, InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException {
// TODO 自动生成方法存根
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
final HtmlAdaptorServer htmlAdaptor = new HtmlAdaptorServer();
final ObjectName htmlAdaptorON = new ObjectName("com.example.mbeans:name=HtmlAdaptor");
mbs.registerMBean(htmlAdaptor, htmlAdaptorON);
htmlAdaptor.setPort(9999);
System.out.print("Starting the HtmlAdaptor....");
htmlAdaptor.start();
}
}
附这里如果没有在classpath中引入jdmkrt.jar 找不到com.sun.jdmk.comm.HtmlAdaptorServer
4.运行上面的java代码
控制台信息:Starting the HtmlAdaptor....
5.在浏览器中输入
http://localhost:9999/
这时候你就可以看见一个打开的网页,现在你就可以利用这个网页来进行MBean的管理了!
Manageable resource:
可以被管理的资源可以是应用程序,设备或者存在的能够被java程序所访问或者包装的实体。通过JMX可以管理这些资源,应用程序能够暴露自己的组件,API或者附加的资源,使得JMX能够管理应用程序。
MBean Managed Bean
是一个java类 是符号jmx specification 所规定的命名和继承规范
动态 Mbeans 可在运行时定义属性和操作。这能力允许 Mbean 在装载时动态配置自己或根据它所处环境改变它的属性和操作
下面用一个案例来验证一下(是引用已经验证)
1.建立MBean
public interface HelloMBean {
//operations
public void sayHello();
public int add(int x,int y);
//attributes
//a read-only attribute called Name of type String
public String getName();
// a read-write attribute called CacheSize of type int
public int getCacheSize();
public void setCacheSize(int size);
}
2.建立实现MBean的类
public class Hello implements HelloMBean{
private final String name = "Reginald";
private int cacheSize = DEFAULT_CACHE_SIZE;
private static final int DEFAULT_CACHE_SIZE = 200;
public int add(int x, int y) {
// TODO 自动生成方法存根
return x+y;
}
public int getCacheSize() {
// TODO 自动生成方法存根
return this.cacheSize;
}
public String getName() {
// TODO 自动生成方法存根
return this.name;
}
public void sayHello() {
// TODO 自动生成方法存根
System.out.println("hello,world");
}
public synchronized void setCacheSize(int size) {
// TODO 自动生成方法存根
this.cacheSize=size;
}
}
3.客户端代码
import java.lang.management.*;
import javax.management.*;
import com.sun.jdmk.*;
import com.sun.jdmk.comm.HtmlAdaptorServer;
public class Main {
/**
* @param args
* @throws NullPointerException
* @throws MalformedObjectNameException
* @throws NotCompliantMBeanException
* @throws MBeanRegistrationException
* @throws InstanceAlreadyExistsException
*/
public static void main(String[] args) throws MalformedObjectNameException, NullPointerException, InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException {
// TODO 自动生成方法存根
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
final HtmlAdaptorServer htmlAdaptor = new HtmlAdaptorServer();
final ObjectName htmlAdaptorON = new ObjectName("com.example.mbeans:name=HtmlAdaptor");
mbs.registerMBean(htmlAdaptor, htmlAdaptorON);
htmlAdaptor.setPort(9999);
System.out.print("Starting the HtmlAdaptor....");
htmlAdaptor.start();
}
}
附这里如果没有在classpath中引入jdmkrt.jar 找不到com.sun.jdmk.comm.HtmlAdaptorServer
4.运行上面的java代码
控制台信息:Starting the HtmlAdaptor....
5.在浏览器中输入
http://localhost:9999/
这时候你就可以看见一个打开的网页,现在你就可以利用这个网页来进行MBean的管理了!
- jdmkrt.jar (1017.6 KB)
- 描述: jdmkrt.jar
- 下载次数: 719
发表评论
-
BufferedInputStream 测试
2009-04-20 16:37 1629在读取arff文件的时候,有点是需要注意到的。在J ... -
获取Java程序运行的路径
2009-04-20 13:04 9567关键字: jar war 运行路径 对于Java程序,无论是 ... -
数字的正则表达式
2009-03-21 17:12 1445(\d{3}-|\d{4}-)?(\d{8}|\d{7})? ... -
jsp相关
2009-01-20 14:25 982<% response.setHeader(" ... -
java 对文本的写和读
2008-09-04 21:31 856-----------写操作 File file=n ... -
byte,char int 之间关系即转换
2008-06-23 16:49 2770曾经遇到一个问题 char word='a',转换成'b'的问 ... -
使用DatabaseMetaDate获取数据库信息
2008-06-06 08:00 1371import java.sql.*; public class ... -
ant 的学习点滴
2008-06-03 08:31 1145一环境 1:ANT的项目的地址为 http://ant.a ... -
throws 和 try catch 的区别
2008-05-29 11:37 1356/** * 获取查询的result * @param ... -
Utf-8编码是如何工作的 (转改)
2008-05-26 11:18 1775关键字: 编码 Utf-8编码是如何工作的讲起。 (JVM规范 ... -
jdom和gnujaxp冲突的解决
2008-05-20 21:37 1330在网上看有: java.net.MalformedURLExc ... -
java异常中Runtime点滴学习
2008-05-19 09:22 1948特别关注一下 RuntimeExcep ... -
java 中的增量操作
2008-05-14 08:11 911public class Increment { /** ... -
weblogic 下excel乱码问题的解决
2008-05-06 18:30 2281在web.xml中配置 <mime-mappin ... -
数据库连接操作java代码
2008-04-15 08:42 1621package com.digitalchina.sitech ... -
小例子来证明String不同于StringBuffer
2008-04-06 11:44 881String 和 ... -
java 初学者必须理解的六大问题(转载)
2008-03-28 18:11 799对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果 ... -
path
2008-02-23 11:44 982在j2ee开发的过程中经常要获取path的信息 java 如果 ... -
package
2008-02-20 15:06 856在执行class文件的时候,是要进行打包操作的 怎么packa ... -
连接与 连接池
2008-02-19 17:00 926我们可以维护一个进入的连接池,一定数量的 Connection ...
相关推荐
在JMX中MBean代表一个被管理的资源实例,通过MBean中暴露的方法和属性,外界可以获取被管理的资源的状态和操纵MBean的行为。 Agent 用来管理相应的资源,并且为远端用户提供访问的接口。该层的核心是MBeanServer,...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 5.2.4. MySQL实例管理器配置文件 5.2.5. MySQL实例管理器识别的命令 5.3. mysqld:MySQL...
自定义基础存储库 7.7。从聚合根发布事件 7.8。Spring数据扩展 7.8.1。Querydsl扩展 7.8.2。Web支持 7.8.3。存储库填充程序 7.8.4。传统网络支持 参考文档 8.介绍 8.1。文档结构 9. MongoDB支持 9.1。入门 9.2。示例...
内容简介:此书结合具体实例讲解,通俗易懂,又不乏深度。我觉得这本书写的确实不错,堪称经典,市面上这样的书实在太少了,所以在这里发布下,供大家共享。本书从编程技术、项目实践以及软件工程的角度出发,如果...
内容简介:此书结合具体实例讲解,通俗易懂,又不乏深度。我觉得这本书写的确实不错,堪称经典,市面上这样的书实在太少了,所以在这里发布下,供大家共享。本书从编程技术、项目实践以及软件工程的角度出发,如果...
今天我们将通过一个实例,在常用IDE—Eclipse3.2.2+MyEclipse5.5.1+Tomcat6.0的基础之上给大家做一个介绍。让大家体会一把SSH创建框架的过程。 3.1 SSH介绍 SSH是指Struts,Spring,Hibernate的简称。 Struts 是一...
内容简介:此书结合具体实例讲解,通俗易懂,又不乏深度。我觉得这本书写的确实不错,堪称经典,市面上这样的书实在太少了,所以在这里发布下,供大家共享。本书从编程技术、项目实践以及软件工程的角度出发,如果...
使用JMeter和Azure容器实例进行分布式测试 要构建Controller Docker映像,请查看并运行buildController.ps1脚本。 要构建Server \ Worker Docker映像,请查看并运行buildServer.ps1脚本。 确保entrypointController...
5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 5.2.4. MySQL实例管理器配置文件 5.2.5. MySQL实例管理器识别的命令 5.3. mysqld:...
Spring专家力作 理论与实践完美结合 问题描述→解决方案→实现方法 第一部分 核心概念 第1章 控制反转和容器 ... 第18章 Spring对JMX、电子邮件和调度的支持 第19章 Spring中的脚本编程
因为上传大小的限制,分为两部分上传,这是第二部分,第一部分会在评论中给出链接 绝对是spring攻略中文版第二版 ... 第18章 Spring对JMX、电子邮件和调度的支持 第19章 Spring中的脚本编程
因为上传大小的限制,分为两部分上传,这是第一部分,第二部分会在评论中给出链接 绝对是spring攻略中文版第二版 ... 第18章 Spring对JMX、电子邮件和调度的支持 第19章 Spring中的脚本编程
6.5.3 实例分析 157 6.5.4 实战 160 第7 章 Spring Boot 的Web 开发 170 7.1 Spring Boot 的Web 开发支持 170 7.2 Thymeleaf 模板引擎 171 7.2.1 Thymeleaf 基础知识 171 7.2.2 与Spring MVC 集成 174 7.2.3 Spring ...
6.5.3 实例分析 157 6.5.4 实战 160 第7 章 Spring Boot 的Web 开发 170 7.1 Spring Boot 的Web 开发支持 170 7.2 Thymeleaf 模板引擎 171 7.2.1 Thymeleaf 基础知识 171 7.2.2 与Spring MVC 集成 174 7.2.3 Spring ...
6.5.3 实例分析 157 6.5.4 实战 160 第7 章 Spring Boot 的Web 开发 170 7.1 Spring Boot 的Web 开发支持 170 7.2 Thymeleaf 模板引擎 171 7.2.1 Thymeleaf 基础知识 171 7.2.2 与Spring MVC 集成 174 7.2.3 Spring ...
是一个“企业级开源分布式监控解决方案”,它提供跨整个基础设施的遥测和触发器。 Zabbix/J 使从 Java 应用程序公开指标变得简单,使它们作为 Zabbix 部署中的一等公民可见。 Zabbix/J 的要求是最低的。 不需要任何...
3.3.3. bean属性及构造器参数详解 3.3.4. 使用depends-on 3.3.5. 延迟初始化bean 3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. ...