GlassFish中的JMX应用
[JMX是什么]
JMX是什么?简单的来说,JMX就是一套对应用程序和资源管理的框架。
比如,一个大型的应用服务器系统,里面有各种各样的资源,数据库连接池,JMS,线程池,Http引擎,系统的核心应该如何管理这么多资源呢?
在Sun的开源服务器中,运用了JMX技术。具体如何实现呢?
1.首先,把一个个应用程序和资源虚拟成对应的MBean,所谓的MBean就是提供针对资源访问接口的JavaBean。
2.接下来,通过JMX体系,把这一个个MBean注册到一个统一的MBeanServer中间去,这样就把所有的资源归纳管理到同样的一个服务中间去。
3.当我们要配置或者访问具体资源的时候,我们可以通过访问MBeanServer,调用具体的MBean,然后调用访问函数达到我们的目标。
[实践 新建一个自己的MBean]
我们不光要说说理论,我们还要动手,我们来尝试在GlassFish的源代码中间,加入我们自己的新的MBean。
1. 下载GlassFish源代码
http://developers.sun.com.cn/glassfish/
2. 找到以下目录,在其中加入自己新建的MBean类
[glassfish\admin-ee\mbeans\src\java\com\sun\enterprise\ee\admin\mbeans]
具体的程序代码如下:
/**
* Deployment MBean for SE/EE.
*
* @author Jiang Biao
*/
public class NewEEApplicationsConfigMBean
{
//テストするため関数である
public void TestMethou(String clusterName) {
//getClustersConfigBean().stopCluster("Test");
}
}
|
以上的程序代码就是我们自己追加模拟的一个用来配置服务器参数的MBean,这个MBean很简单,只有一个函数TestMethou()
那么是不是我们追加了这个MBean就可以呢?当然不是,我们还要让这个MBean在服务器启动的时候注册到MBeanServer中间去,那么应该怎么做呢?请看以下
3. 修改配置文件,让MBean注册到服务中去
我们找到以下的xml文件,然后在其中追加我们的新MBean的注册
[glassfish\admin-core-ee\dtds\build\admin-mbeans-descriptors-ee.xml]
<!-- +++++++++ 2. applications +++++++++++ -->
<mbean className="com.sun.enterprise.ee.admin.mbeans.NewEEApplicationsConfigMBean" group="config" name="applications">
<descriptor>
<field name="ObjectName" value="{0}:type=applications,category=newconfig"/>
<field name="xpath" value="/domain/applications"/>
<field name="CLIName" value="domain.applications"/>
</descriptor>
</mbean>
|
这样,当服务器主进程启动的时候,我们就能通过以上的这个XML文件读取和注册MBean。
4. 修改服务器命令配置,让我们可以通过服务器命令行启动调用我们的MBean
我们在glassfish\admin-cli\commands\build下面找到[CLIDescriptor.xml]文件,然后修改这个文件,加上我们的MBean配置
(GlassFish的命令传达体系架构我会专门写个文章讲述)
5. 最后我们启动和调用cmd,就能调用我们的MBean拉
分享到:
相关推荐
通过AMX,开发者可以在不牺牲灵活性和效率的情况下,轻松地在GlassFish应用中嵌入管理和监控逻辑。 #### 如何在GlassFish中开发自己的MBean 在GlassFish中开发MBean通常遵循以下步骤: 1. **定义MBean接口**:这...
### Glassfish应用服务器产品对比白皮书知识点梳理 #### Glassfish简介 - **起源与发展**:Sun公司在2005年6月启动了GlassFish项目,旨在开发一款与Java Platform Enterprise Edition 5 (Java EE 5)兼容的应用...
- **JMX支持**:GlassFish支持Java Management Extensions (JMX),这是一种强大的管理工具,允许管理员远程监控和管理应用服务器。 - **热部署**:GlassFish支持热部署,可以在不停止服务的情况下更新应用程序。 - *...
Glassfish是一款开源的应用服务器,由Oracle公司维护,广泛应用于Java EE应用的部署和运行。本教程涵盖了一系列关键主题,包括服务器安装、配置、管理和应用程序开发。 首先,`index.html`作为教程的主页面,通常会...
4. **服务与组件**:文档会讲解如何部署和管理EJB(Enterprise JavaBeans)、Web应用、JMS(Java Message Service)队列和主题、JMX(Java Management Extensions)资源等。 5. **安全性**:GlassFish提供了多种...
6. **故障排查与监控**:介绍在GlassFish中监控Spring应用的方法,包括日志配置、JMX管理、性能指标监控等。 7. **微服务架构**:随着微服务的流行,讲解如何在GlassFish和Spring基础上构建微服务,以及Docker和...
部署Web应用到GlassFish,可以通过管理控制台(admin-cli工具或GlassFish Web UI)上传WAR文件,或者在Eclipse中直接右键点击项目选择"Run As" -> "Run on Server"。 五、配置数据源 在GlassFish中配置数据源,需要...
Oracle Glassfish V3是一款开源的应用服务器,它是Java EE(企业版)平台的实现,提供了运行企业级Java应用程序的环境。本参考手册是Oracle官方提供的详细资料,是学习和理解Glassfish V3功能、配置和管理的重要资源...
GlassFish是Oracle公司开源的一款Java应用服务器,支持Java EE(Enterprise Edition)规范,是开发和部署企业级Web应用程序的重要平台。 在《Glass Fish帮助手册》中,你可以找到以下关键知识点: 1. **Java EE...
DTrace是Solaris操作系统的一个强大性能分析工具,该插件使得jVisualVM能够支持DTrace脚本,从而在Java应用中实现系统级别的深度性能分析。 7. **Glassfish插件(net-java-visualvm-modules-glassfish.nbm)** ...
GlassFish是一个开源的应用服务器,它遵循Java管理扩展(JMX)规范,使得资源管理变得灵活且高效。 1. **通过管理控制台访问** 管理控制台是图形用户界面,用于直观地配置和监控GlassFish资源。首先,打开浏览器并...
4. **部署阶段**:将应用程序打包成WAR(Web Archive)或EAR(Enterprise Archive)文件,然后部署到应用服务器,如Tomcat、Jetty、GlassFish或WildFly。 5. **运行和监控**:应用上线后,需要监控其性能和稳定性,...
GlassFish的管理和监控工具也非常强大,涵盖了图形化、命令行、ANT、JMX等多种方式,并集成了VisualVM工具。 ### Metro:高性能Web服务栈 Metro是GlassFish中的Web服务栈,它在WSIT前后都有出色的表现,支持多种...
这可能涉及到如何在JBuilder X中集成JDS,以便进行远程Java应用的开发和调试,例如通过JMX(Java Management Extensions)管理应用程序,或者使用JNDI(Java Naming and Directory Interface)查找和绑定资源。...
8. **容器**:J2EE应用运行在特定的容器中,如Tomcat、Jetty(轻量级容器)或WebLogic、GlassFish(全功能容器),它们提供运行时环境、管理和调度J2EE组件。 9. **部署描述符**:web.xml和ejb-jar.xml是两个关键的...
8. **JMX支持**:Java Management Extensions (JMX) 提供了监控和管理应用程序的能力,Tomcat 5.5支持JMX,可以通过JMX代理来远程监控服务器状态。 9. **与其它应用服务器集成**:Tomcat作为轻量级应用服务器,可以...
《JVisualVM插件在Java内存监测中的应用与解析》 JVisualVM,作为Java开发工具集的一部分,是Oracle JDK 1.8中一个强大的性能分析工具。它提供了一个直观的用户界面,允许开发者深入了解Java应用程序的运行状态,...