了解JMX可以使你深入了解J2EE服务器, 为什么我们平时说 "EJB"是个比较"Weight"的方案选择,其中一个原因是J2EE服务器软件本身 也是你的系统中一部分,它作为你系统的容器,对你的系统有至关重要的作用,如果无法直接介入 管理或“调教”它,那么无疑你的系统本身存在着隐含的危险, 现在,通过JMX,你现在可以深入到你J2EE容器内部的管理了。 (好像国内出现了第一个自己J2ee服务器,不知道那是不是基于JMX开发的?)
J2EE并不能概括所有的应用领域,比如对速度和性能要求极高的游戏或股票行情等系统就需要自己直接来开发Server, 如果是能够基于JMX开发,那么可以说就大大提高编写管理程序的效率,可以将你的模块变成JMX的MBean,可以通过Agent在程序内部或者通过 WEB管理页面对你的MBean模块进行初始化 重启 以及参数设置。
JMX的好处还有:可以方便整合连接现有的Java技术,如JNDI JDBC JTS及其它。特别是能够使用Jini的查询 发现机制以及协议,我们知道,Jini提供了一种服务的查询和发现机制,这些services都可以通过JMX 来实现管理。
现在我们开始JMX的了解:
1.到java.sun.com首页的JMX页面,下载JMX的规定说明和Samples程序。
2.按照JMX的说明进行一次Tutorial,了解如何加入 删除 配置一个MBean,Tutorial中是以SimpleMBean为例,那么我们能否建立一个自己的MBean?
我们来做一个Hello 的MBean,这里有一个小关键点,你的class取名有个规则, 需要以MBean为结尾,如这里我们取名为HelloMbean:
public interface HelloMBean {
// management attributes
public String getName();
public void setName(String name);
// management operations
public void print();
}
在这个Class里,有一个隐含attributes: name, 提供了set和get的方法,同时有一个操作方法print():
再定义一个concrete类:
public class Hello implements HelloMBean {
private String name = "";
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void print() {
System.out.println("Hello, " + name + "!!" );
}
}
这样一个简单的MBean就做好了,我们可以通过admin界面加入这个Hello,
再按 Tutorial启动BaseAgent,在Agent Administration中参考Simple填入:
Domain: Standard_Hello_MBeans
Keys : name=Hello,number=1
Java Class: Hello
将出现Create Successful信息。进入MBean View 给Name赋值,点按Apply ,然后再按print,这是你的Hello中的方法,在控制台你会看到输出。
是不是很惊奇Hello中的 attributes 和operations能被动态的访问和控制? 已经隐约感到JMX的架构原理了吧?
下面再深入明确一些概念:
上面HelloMBean资源是通过admin这样的HTTP WEB界面管理,这种管理资源方式是属于JMX的Distributed服务层, JMX 通过Distributed层能够部署和管理MBean资源。就象上面的例子,是通过HtmlAdaptor提供的HTTP WEB界面来方面的维护管理HelloMBean.
那么我们能否在程序中自动管理和部署我的MBean?当然可以,这是通过Agent层来完成,现在我们已经有了这个层次,MBean所在的资源层,
最外面的Distributed服务层,Distributed服务层是通过Agent层来访问MBean资源的,看看下面来自Sun公司JMX规定的架构图:
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容猜你喜欢
AI推送时光机JMX架构的了解(转)
后端开发2023-06-03
SpringMVC的详细架构你了解嘛
后端开发2024-04-02
深入了解Mysql逻辑架构
后端开发2022-05-30
ASP分布式架构,你真的了解吗?
后端开发2023-06-14
Java Mybatis架构设计深入了解
后端开发2024-04-02
软件构架之码农需要了解的软件构架模式有哪些
后端开发2024-04-02
转自数据云-----架构师眼中的高并发架构
后端开发2024-04-02
汽车架构解析:python解析Autosar架构的ARXML
后端开发2023-09-01
揭开 Java JMX 的面纱:了解监控和管理的秘密
后端开发2024-02-19
了解一下 Golang 架构中的关键要素吧!
后端开发2024-03-02
深入了解Java和Django的响应式框架构建
后端开发2023-09-07
简单了解MySQL高可用MHA架构知识
后端开发2024-04-02
理解 Nova 架构 - 每天5分钟玩转 OpenStack(23)
后端开发2024-04-02
阿里架构师:带你快速理解微服务架构,理解微服务架构的核心
后端开发2023-06-04
ASP Web API 的底层架构:深入了解 HTTP 和 JSON
后端开发2024-04-02
Spring中的底层架构核心概念类型转换器详解
后端开发2022-12-27
剖析JavaScript MVC架构:深入了解MVC设计模式的精髓
后端开发2024-02-12
如何理解SAP Kyma的架构
后端开发2023-06-04
GO语言分布式系统架构设计,你了解吗?
后端开发2023-06-29
了解Golang中结构体强转的性能影响及优化方法
后端开发2024-04-03
咦!没有更多了?去看看其它编程学习网 内容吧