- 浏览: 312904 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 1649在读取arff文件的时候,有点是需要注意到的。在J ... -
获取Java程序运行的路径
2009-04-20 13:04 9596关键字: jar war 运行路径 对于Java程序,无论是 ... -
数字的正则表达式
2009-03-21 17:12 1471(\d{3}-|\d{4}-)?(\d{8}|\d{7})? ... -
jsp相关
2009-01-20 14:25 998<% response.setHeader(" ... -
java 对文本的写和读
2008-09-04 21:31 882-----------写操作 File file=n ... -
byte,char int 之间关系即转换
2008-06-23 16:49 2804曾经遇到一个问题 char word='a',转换成'b'的问 ... -
使用DatabaseMetaDate获取数据库信息
2008-06-06 08:00 1399import java.sql.*; public class ... -
ant 的学习点滴
2008-06-03 08:31 1184一环境 1:ANT的项目的地址为 http://ant.a ... -
throws 和 try catch 的区别
2008-05-29 11:37 1394/** * 获取查询的result * @param ... -
Utf-8编码是如何工作的 (转改)
2008-05-26 11:18 1815关键字: 编码 Utf-8编码是如何工作的讲起。 (JVM规范 ... -
jdom和gnujaxp冲突的解决
2008-05-20 21:37 1365在网上看有: java.net.MalformedURLExc ... -
java异常中Runtime点滴学习
2008-05-19 09:22 1978特别关注一下 RuntimeExcep ... -
java 中的增量操作
2008-05-14 08:11 959public class Increment { /** ... -
weblogic 下excel乱码问题的解决
2008-05-06 18:30 2324在web.xml中配置 <mime-mappin ... -
数据库连接操作java代码
2008-04-15 08:42 1644package com.digitalchina.sitech ... -
小例子来证明String不同于StringBuffer
2008-04-06 11:44 909String 和 ... -
java 初学者必须理解的六大问题(转载)
2008-03-28 18:11 822对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果 ... -
path
2008-02-23 11:44 1007在j2ee开发的过程中经常要获取path的信息 java 如果 ... -
package
2008-02-20 15:06 880在执行class文件的时候,是要进行打包操作的 怎么packa ... -
连接与 连接池
2008-02-19 17:00 952我们可以维护一个进入的连接池,一定数量的 Connection ...
相关推荐
1. **JMX基础** JMX由三部分组成:MBeans(Managed Beans)、Servers和Agents。MBeans代表管理的对象,可以是任何Java对象,它们提供了关于对象状态的信息和对这些对象的操作。MBean Server是管理对象的核心组件,...
这本书通过实例详细解释了JMX的工作原理和应用方法,旨在帮助读者提高系统管理和自动化运维的效率。 书中首先介绍了JMX的基本概念,包括MBean(管理bean)、MBean服务器、代理和通知等核心元素,以及它们在JMX架构...
通过学习这个例子,你可以理解JMX的基本结构和用法,为更复杂的监控和管理任务打下基础。 在实际应用中,JMX广泛应用于服务器监控、日志管理、性能统计等方面,是Java开发者必备的一项技能。对于"JMX MBA十日读"这...
### JMX基础知识详解 #### 一、JMX概念解析 JMX(Java Management Extensions)是一种为应用程序提供管理和监控功能的标准框架。它通过一系列接口、工具和技术来帮助开发者为Java应用程序添加管理和监控的能力。 ...
AMX在保留JMX原有的优势基础上,增加了更多的面向对象特性和简化了MBean的开发过程,使得在GlassFish环境中管理和监控应用变得更加直观和高效。 #### JMX的基本概念 - **MBeans**:这是JMX的核心组成部分,用来...
**概述**:这部分内容重点介绍了构建JMX基础架构的关键技术和步骤。 **详细解释**: - **MBean的设计原则**:设计MBean时需要考虑其可扩展性、易用性和安全性等方面。 - **MBean服务器的配置**:MBean服务器是JMX...
通过了解这些基础知识,开发者可以开始构建自己的JMX解决方案,监控和管理Java应用,提升系统的可维护性和可扩展性。例如,Spring框架提供了对JMX的集成支持,简化了在Spring应用中使用JMX的复杂性。总的来说,JMX因...
1. **JMX基础**:JMX的核心概念包括MBeans(Managed Beans)、Management Agents(MBeans Server)和Connectors。MBeans是可管理的对象,它们代表了应用程序中的资源或服务。MBeans Server是一个管理代理,负责注册...
本文将深入介绍JMX的基础知识,包括其核心概念、如何创建MBeans、以及如何通过JMX代理来访问和操作MBeans。 **一、JMX核心概念** 1. **MBeans**: MBean是JMX中的基本组件,它是可管理的对象,代表了系统的某个方面...
#### JMX Server监控实例 一旦JMX Server启动并配置完成,可以通过JConsole或其他JMX客户端工具进行连接,以可视化的方式监控整个Coherence集群。监控界面通常包含以下几部分: 1. **集群视图**:展示整个集群的...
4.1 奠定MBean基础 在深入讨论编写标准MBean之前,我们首先需要描述跨越所有MBean类型所需的某些共同特性。无论你是在编码标准MBean还是动态MBean,都必须遵循以下规则: 4.1.1 所有MBean的通用编码规则 开发任何...
1. **JMX基础**: - **MBeans**:JMX的核心组件,是可管理的Java对象,代表了被管理的资源或服务。 - **MBeanServer**:管理MBeans的服务器,负责注册、查询和操作MBeans。 - **Management Interface**:MBeans...
标题和描述均提到了“jmx第一个学习例子”,这标志着文章旨在引导读者通过一个实践性的示例理解Java Management Extensions(JMX)的基础概念和技术。JMX作为一项由Sun Microsystems(现Oracle)提出的技术,用于...
此外,监控和日志管理也是多实例部署中的关键环节,可以通过JMX接口或者第三方工具实现。 通过这种方式,你可以轻松地管理和扩展Wildfly9的多实例环境,以满足不断增长的业务需求。记住,每个实例的配置和管理都...
JMX规范还讨论了如何在不同的Java虚拟机(JVM)实例之间进行通信,以及如何在不同的平台和应用程序之间使用JMX技术进行统一的管理和监控。规范中还定义了测试和兼容性工具包(TCK),用于确保第三方的实现符合JMX...
“新建 文本文档.txt”可能是一份简单的文本教程,介绍JMX的基础知识或实践指导。至于“一起分享 一起成长 - goCom - SOA中国第一社区.files”可能是一个目录,包含与社区相关的其他文件或资源。 总的来说,JMX为...
本实例针对初学者,将介绍如何使用Java构建一个简单的监控应用程序,帮助你理解基础概念并逐步深入实践。 首先,我们要了解Java监控的基本概念。Java提供了一个名为JMX(Java Management Extensions)的框架,它...
1. 创建一个MBean服务器:这是管理的基础,MBean服务器负责管理和实例化MBeans。 2. 提供连接性:像HelloAgent一样,JMXBookAgent类也需要创建一个HTML适配器,使得你可以查看和交互在代理上注册的MBeans。此外,你...
3. **通知机制**:JMX支持发布和订阅通知,源码可能包含如何发送和接收通知的实例,这对于实时监控和报警系统至关重要。 4. **JMX连接器**:JMX连接器允许远程访问MBeanServer,源码可能会演示如何设置和使用RMI、...