- 浏览: 323784 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
lzy.je:
期待FSF的!1985.10成立到现在GNU有多少大牛的项目数 ...
改变IT世界的11大Apache开源技术 -
dotaking:
7、8不了解
改变IT世界的11大Apache开源技术
先看下一些基本的东西然后运行代码对jmx有些基本了解,然后看JMX规范
基本概念:
1:MBean
通常是一个java类,它提供接口可以使这个类具有管理功能(如standard MBean,接口中定义的方法使MBean具有管理功能)。
2:MBean server
是 管理MBean的一个java类,你需要向MBean server注册一个MBean后,这个MBean才会具有管理功能,MBean server还提供了查询功能和注册监听器的功能,sun提供的只是接口,不同的jmx实现中的MBean server实现也不同。
3:JMX agent
agent 是为了管理一系列的MBean,而提供的一系列的服务,如上图所示,通常有MBean relationships, dynamically loading classes, simple monitoring services, timers。agent可以利用Protocol adapters(例如HTTP 和SNMP)和connectors(RMI 和Jini)使不同的客户端可以访问MBean。
4:Protocol adapters 和connectors
适 配器和连接器主要使不同的协议和客户端可以使用这个agent,一个agent中可以有多个Protocol adapters 和connectors,这样管理起MBean来就更方便了(有多种类型的客户端和协议可以操作MBean)。注意,Protocol adapters 和connectors通常也是MBean。
JMX1.1相对于1.0有了很大改进,在1.1中提供4种类型的MBean,3,4两种MBean都是特殊类型的dynamic MBean。
1:standard MBean
2:dynamic MBean
3:open MBean
4:model MBean
Standard MBean编程简介
运行环境:
首先去sun下载两个压缩包http://java.sun.com/products/JavaManagement/download.html:
1、jmx-1_2_1-bin
2、jmxremote-1_0_1-bin
以下程序只需要jmx-1_2_1-bin包里面的lib/*.jar
注意:jmx和jmxremote是两个不同的包。
下面就来编写几个程序:
1:编写接口
2:编写MBean
3:编写agent
下面看接口的代码,very easy,主要定义get/get方法和其它你想使用的方法
public interface HelloWorldMBean
{
public void setGreeting( String greeting );
public String getGreeting();
public void printGreeting();
}
再看MBean的代码,跟传统的Bean非常相似,加入某个属性只有get方法,则说明这个属性是只读的,get/set都有的话,说明这个属性是可读可写的,此MBean只定义了一个属性 greeting。另外还定义了一个方法printGreeting。
public class HelloWorld implements HelloWorldMBean
{
private String greeting = null;
public HelloWorld()
{
this.greeting = "Hello World! I am a Standard MBean";
}
public HelloWorld( String greeting )
{
this.greeting = greeting;
}
public void setGreeting( String greeting )
{
this.greeting = greeting;
}
public String getGreeting()
{
return greeting;
}
public void printGreeting()
{
System.out.println( greeting );
}
}
下面编写agent
1:创建 MBeanServer
2:创建一个adapter
3:将MBean注册到MBeanServer,同时将apapter也注册到MBeanServer
4: 启动adapter
import javax.management.*;
import com.sun.jdmk.comm.*;
public class HelloAgent
{
private MBeanServer mbs = null;
public HelloAgent()
{
mbs = MBeanServerFactory.createMBeanServer( "HelloAgent" );
HtmlAdaptorServer adapter = new HtmlAdaptorServer();
HelloWorld hw = new HelloWorld();
ObjectName adapterName = null;
ObjectName helloWorldName = null;
try
{
helloWorldName = new ObjectName( "HelloAgent:name=helloWorld1" );
mbs.registerMBean( hw, helloWorldName );
adapterName = new ObjectName( "HelloAgent:name=htmladapter,port=9092" );
adapter.setPort( 9092 );
mbs.registerMBean( adapter, adapterName );
adapter.start();
}
catch( Exception e )
{
e.printStackTrace();
}
}
public static void main( String args[] )
{
System.out.println( "HelloAgent is running" );
HelloAgent agent = new HelloAgent();
}
}
上 面的代码使用了sun的一个adapter:HtmlAdaptorServer,使得html客户端可以访问MBean,注意ObjectName类, 它的书写规则是这样的:"Domain names:key=value,key2=value2",因为createMBeanServer方法中我们使用了参数"HelloAgent",因 此后面的Domain names必须为HelloAgent。
运行:
我一开始运行的时候遇到了一些问题,在这里就说一下。
1、编译是必不可少的。
我们需要上面提到的jmx-1_2_1-bin里面的两个jar文件。将他们放到classpath中。
2、运行
只需要运行HelloAgent.class就行了。同样需要那两个jar文件。缺少的话会报错。
3、通过浏览器访问http://localhost:9092即可。
发表评论
-
改变IT世界的11大Apache开源技术
2009-09-28 08:53 1602据国外媒体报道,转眼之间,Apache软件基金会已经成立1 ... -
批量替換
2009-01-23 13:01 770DECLARE @fieldtype sysnameSET @ ... -
一篇关于web.xml配置的详细说明
2007-09-04 01:19 797一篇关于web.xml配置的详细说明 (来源于:http: ... -
打印web页面的指定区域
2009-03-12 11:34 1090打印web页面的指定区域 第一种方法:使用CSS,定义一个.n ... -
jspSmartUpload 学习
2009-03-12 18:06 877一、安装篇 jspSmartUpload是由www.js ... -
统计访问量
2009-04-02 10:13 1001统计访问量 监听 ... -
视频总结-servlet高级开发
2009-04-02 10:16 813视频总结-servlet高级开发 ... -
POI 关于对 ms word的读写代码
2009-05-14 18:09 1182POI 关于对 ms word的读写代码 关键字: poi ... -
log4j最佳配置备份
2009-05-22 11:15 979Xml代码 <?xmlversion="1. ... -
jsp 生成 图片验证码
2009-06-03 10:45 917务必注意:在比较用户输入的验证码时,需要获取系统生成的验证码, ... -
SSH协议
2009-06-05 17:05 1346[编辑] 历史 最初的 SSH ... -
单点登录
2009-06-05 17:10 957单点登录SSO(Single Sign-O ... -
CAS构建和实现单点登录解决方案
2009-06-05 17:21 1530... -
单点登录解决方案
2009-06-05 17:58 896方案概述 现代企业的信息化建设越来越完善,各种电子邮件系统 ... -
单点登陆的概念
2009-06-08 11:16 839单点登陆的概念 单点登陆的概念: 当一个大系统中存在 ... -
单点登录系统SSO原理
2009-06-08 11:28 1011单点登录系统SSO原理 本文以某新闻单位多媒体数 ... -
单点登录sso的定义
2009-06-08 11:58 754单点登录sso的定义 单点登录(Single Sign O ... -
JSP获取真实IP地址
2009-06-09 15:31 829在JSP里,获取客户端的IP地址的方法是:request.ge ... -
JFreeChart API说明
2009-06-22 11:28 920JFreeChart类:void setAntiAlias(b ... -
正则表达式在JAVA中的应用
2009-06-22 13:56 933众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字 ...
相关推荐
对于初学者,这个"最简单JMX例子"将展示如何创建一个简单的MBean,如何在Eclipse这样的集成开发环境中配置和运行,以及如何通过标准的JMX客户端工具进行交互。通过学习这个例子,你可以理解JMX的基本结构和用法,为...
综上所述,Apache Tomcat 9.0.62作为Java开发必备的工具,其稳定性、易用性和灵活性使其成为开发和部署Java Web应用的首选平台。了解并熟练掌握Tomcat的使用和配置,对于Java开发者来说至关重要。
在Java开发领域,日志管理是至关重要的,它帮助开发者追踪程序运行时的状态,记录错误信息,便于问题排查。...因此,熟悉这些库文件的作用,以及它们与Log4j的集成方式,是每个Java开发者必备的技能之一。
8. **动态配置**:Log4j2支持运行时动态调整配置,可以通过JMX(Java Management Extensions)或者API来实现,无需重启应用即可更改日志设置。 9. **性能优化**:合理配置Log4j2可以帮助优化性能,例如,减少不必要...
《阿里巴巴Java开发手册》是Java开发者的一份重要参考资料,它由阿里巴巴集团的众多技术专家共同编纂而成,旨在规范和提升Java开发的标准化水平。这份手册涵盖了从基础语法到最佳实践的广泛内容,旨在帮助开发者编写...
10. **故障排查**:了解如何通过查看服务器日志、使用JMX管理工具和分析线程Dump来定位和解决Tomcat中的问题,是每个开发者必备的技能。 综上所述,“Tomcat与Java.Web开发技术详解”将深入讲解这些关键概念,提供...
《后端必备+服务器网络编程指南》是一本针对后端工程师深入学习服务器网络编程和性能调优的专业书籍。它涵盖了从基础知识到高级实践的广泛内容,旨在帮助读者全面提升在这一领域的技能。 首先,我们来探讨“后端”...
谢谢大家的支持,我会陆续上传相关电子书 ...无论对于Java软件设计还是软件开发,本书都是精通开发Java Web应用的必备的实用手册。 本书适合作为Java相关培训机构的教材,也可作为Java自学人员的参考手册。
学习JVM内存模型(堆、栈、方法区等),类加载机制,以及如何通过JMX、JConsole、VisualVM等工具进行性能监控和调优。 6. **Java并发编程**: 除了多线程,还包括线程池的使用(ExecutorService,...
在【描述】中提到,“做手机移动开发必备”,意味着这份PPT资料将涵盖Android开发的基础知识,如Activity生命周期、Intent机制、布局管理、数据存储、网络请求、多媒体处理、权限管理等方面。同时,也可能涉及到更...
本书讲解Java Web开发中的高级开发技术,包括企业级...无论对于Java软件设计还是软件开发,本书都是精通开发Java Web应用的必备的实用手册。 本书适合作为Java相关培训机构的教材,也可作为Java自学人员的参考手册。
它是JavaWeb开发者的必备工具,尤其对于初学者来说,它的简单性和易用性使其成为学习Web应用服务的首选。 【JavaServlets】 JavaServlet是一种Java编程语言编写的服务器端程序,主要功能在于交互式地处理客户端请求...
此外,利用JMX(Java Management Extensions)进行远程监控和管理也是必备技能。 10. **使用Tomcat管理工具** Tomcat提供了一个名为`manager`的小应用,通过Web界面可以管理应用的部署、启动、停止和卸载。理解其...
- **spring-jmx.jar**: JMX监控的支持。 每个JAR包都有其特定的功能和用途,比如`spring-context.jar`提供了对Spring上下文的支持,包括事务管理、消息源和国际化支持等功能;而`spring-jdbc.jar`则是为了方便使用...
这份手册覆盖了从基本编码规范到高级设计原则的诸多方面,是Java开发者进阶必备的知识库。 一、编码规范 1. 命名规范:手册详细规定了类、方法、变量的命名规则,强调使用有意义的英文单词或词组,避免使用缩写,...
在IT性能测试领域,LoadRunner是一款非常知名的负载和性能测试工具,由HP(现称HPE)开发。本文将深入探讨如何使用LoadRunner监控Linux环境,以及在这个过程中必不可少的插件。 首先,LoadRunner的核心在于它的虚拟...
7. **Java性能优化**:通过JDK提供的JMX(Java Management Extensions)和JProfiler等工具,开发者可以监控和优化应用程序的性能,例如调整JVM参数以改善内存使用或提升程序运行速度。 8. **异常处理**:Java的异常...
综上所述,“Tomcat 6.0 javaweb编程必备”意味着我们需要深入学习Tomcat的配置、管理以及JavaWeb的Servlet、JSP等核心技术。通过不断实践和探索,才能在这个充满挑战和机遇的领域中游刃有余。记得,阅读“说明_...
Java面试必备必知必会,这是每个Java开发者在求职或者职业发展中都需要面对的主题。Java面试通常涵盖以下几个核心领域:Java基础、集合框架、多线程并发以及虚拟机(JVM)知识。以下将对这些关键知识点进行详细阐述...
9. **故障排查与日志分析**:掌握如何阅读和分析WebSphere的日志文件,以及如何使用IBM Support Assistant等工具进行问题诊断,是每个WebSphere开发者必备的技能。 10. **持续集成与自动化部署**:随着DevOps的普及...