[发明专利]一种获取应用服务器中类装载信息的方法有效
申请号: | 200710143973.0 | 申请日: | 2007-08-16 |
公开(公告)号: | CN101105749A | 公开(公告)日: | 2008-01-16 |
发明(设计)人: | 倪晓兵 | 申请(专利权)人: | 金蝶软件(中国)有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京集佳知识产权代理有限公司 | 代理人: | 逯长明 |
地址: | 518057广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 获取 应用 服务器 装载 信息 方法 | ||
技术领域
本发明涉及应用服务器领域,特别是涉及一种获取应用服务器中类装载信息的方法。
背景技术
目前在Internet/Intranet/Extranet环境中,企业级应用系统大多采用三层或多层应用模式。为了方便开发、部署、运行和管理基于多层结构的应用,需要以网络和分布式计算的底层技术为基础,构建一个完整的应用框架,提供相应的支撑平台作为多层应用的基础设施,这一支撑平台的关键就是位于中间层的应用服务器。应用服务器是一个创建、部署、运行、集成和维护多层分布式企业级应用的平台。在企业应用中,应用服务器可以提供如下好处:提高企业应用开发的有效性,保障业务逻辑和组件的重用性;提高企业应用的性能,如高运行性能和响应时间、可伸缩性、可靠性等;使企业应用更易于监控和管理,降低系统维护和升级成本。由于应用服务器的重要作用和关键地位,它已经成为当今业界的一个热点。
类装载是java语言提供的最强大的机制之一,一个类代表要执行的代码,而数据则表示其相关状态。状态时常改变,而代码则不会。当我们将一个特定的状态与一个类相对应起来,也就意味着将一个类事例化。尽管相同的类对应的实例其状态千差万别,但其本质都对应着同一段代码。一旦一个类被载入Java虚拟机(Java Virtual Machine,JVM)中,同一个类就不会被再次载入了。应用服务器自身的启动需要装载很多类文件(class),部署在应用服务器上的应用启动时也需要装载应用自身的类文件。JAVA的类装载机制是在同一个JVM中,按类路径的层次和顺序装载类文件,并且同一个类装载器(classloader)对同一个类只能够装载一次,classloader存在父子关系,同一个类文件可以被不同的classloader装载,一个类可以被多个class-loader装载。
应用服务器运行时,应用的某个类可能部署在多个地方,应用开发人员在开发、生产过程中,出于排错、调试的目的,经常需要获取某个应用中的类被classloader装载的信息。例如获取这个类对应的类文件所在物理位置,装载这个类文件的classloader是哪个等等。
现有技术中获取这些信息的方法有以下几种:
1、通过硬编码在应用代码中输出所述需要的信息,即发现错误后,修改应用代码,添加一段代码,当启动后,可以在控制台上看到具体的类文件所在物理位置或者装载该类文件的classloader。通过所述硬编码的方式输出,需要修改代码,并且会增加垃圾日志的输出,导致应用性能的下降。
2、通过第三方软件输出所述需要的信息,如使用jprofile这类第三方软件,所述第三方软件之所以能够分析JVM中的线程、类装载的信息,是因为必须将整个应用服务器进程托管给所述第三方软件,由第三方软件来具体维护整个应用服务器进程的生命周期,因此配置非常复杂,并且所述第三方软件为商业软件,需要购买,经济代价大。
3、通过编写JMX功能模块,嵌入在应用中从而输出所述需要的信息,所述编写JMX组件的开发量很大,复杂度非常高。
通过以上分析可以看出,所述三种方式,都需要开发、维护人员大量的工作,成本高,并且无论采取哪一种方式,都不能在出错的应用环境中及时获取相应的信息,而这一点对于应用的排错是非常重要的。因此,迫切需要一种简单、经济且能及时获取应用出错信息的信息获取方法。
发明内容
本发明所要解决的技术问题是提供一种通过简单的客户端/本地调用,就可以获取类装载信息的方法。
为了解决上述问题,本发明公开了一种获取应用服务器中类装载信息的方法,包括:
向类装载器注册侦听器;
实例化类装载器时,激活所述注册的侦听器;
所述侦听器接受所述触发并响应;
所述侦听器保存类装载器实例引用。
所述注册侦听器的具体步骤包括:
实现一个符合Java EE Mbean规范的类装载器监控服务;
在应用服务器的启动服务列表中配置所述类装载器监控服务;
通过所述类装载器监控服务注册侦听器。
所述保存的具体过程为:
所述侦听器将所述类装载器实例引用保存在内存的数据结构中。
进一步,还包括:
接收本地/客户端的请求,输出所述已经保存的类装载信息。
优选的,所述输出类装载信息的步骤具体包括:
本地调用类装载器监控服务;
类装载器监控服务响应,通过保存的类装载器访问并返回保存的类信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金蝶软件(中国)有限公司,未经金蝶软件(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710143973.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:低温位热能回收利用技术
- 下一篇:葡萄嫁接苗的快速繁殖方法