用于显示JMX监测信息的方法和系统技术方案

技术编号:3521070 阅读:208 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种显示JMX监测信息的方法、系统和计算机程序产品,其允许将通过JMX查询获得的组件的状态异步地装入Web内容,从而每个组件的状态值一旦成为可用的就立即被显示出来,而不必等待任何其它查询的完成。

【技术实现步骤摘要】

本专利技术一般地涉及监测J2EE环境中的组件的状态,并且更具体地,涉及提高获得并显示状态信息的效率。
技术介绍
Java管理扩展(JMX)应用编程接口(API)提供了用于异步地确定Java企业版(J2EE)服务器中的系统组件(例如,服务器、应用程序、进程或其它资源)的状态的手段。状态监测API需要用户执行复杂的查询以便获得所述状态,并且因此提供一个允许用户看到大量组件的状态的简单的客户机是有利的。这种客户机可包括一个网页,该网页包括与各组件的状态相应的一系列图像。JMX查询是被异步地执行的,并且在任何特定的时间段内可能不能完成。然而,网页的内容一般是顺序地装入并显示的。因此,在前一个查询完成之前可能不能开始下一个JMX查询。因为一些查询可能会用一段长的时间才能完成,而其它的可能仅用一段较短的时间,所以单个长时间运行的查询可能会阻碍其它较短的查询的完成和显示。图1是现有技术的监测组件状态的过程100的方块图。在诸如基于Web的管理控制台的客户端设备102处的用户发起JMX查询,以确定若干服务器组件110和102的状态。为了清楚起见,只给出了两个组件;可以有更多的组件包括在系统和查询中。查询首先被传输到小服务程序(servlet)104,小服务程序104处理第一个查询106以确定第一个服务器110的状态。第一服务器110做出响应,在这之后小服务程序104处理第二个查询108以确定第二个服务器120的状态。仅当小服务程序104收到了来自所有服务器的响应之后,小服务程序104才将它们提供给运行在客户机102上的浏览器。此外,用户可能只对被给出了状态的诸对象的一个子集感兴趣,或是可能对状态之外的信息感兴趣,所述信息例如是应用服务器的一个简单的列表。如果有10个这种服务器,并且每个JMX查询要用3分钟来完成,则用户可能必须等待30分钟才能看到结果,即使用户所希望的特定信息可能是几乎立即就可以得到的。因此,存在有提高将监测信息提供给用户的效率的需要。
技术实现思路
本专利技术提供了一种方法、系统和计算机程序产品,其允许将通过JMX查询获得的组件的状态异步地装入Web的内容,从而每个组件的状态值一旦成为可用的就被立即显示出来,而不需要等待任何其它查询的完成。附图说明图1是现有技术的组件监测系统的方块图;图2是本专利技术的组件监测系统的方块图;图3是本专利技术的组件监测系统的流程图;图4是使用本专利技术所获得的组件状态信息的显示的示例性的屏幕快照。具体实施例方式图2是本专利技术的组件监测系统200的方块图。系统200包括运行一个Web浏览器203的基于Web的管理控制台202。并且和上面所述的一样,虽然可以包括更多的组件,但是只给出了两个组件210和220。同样也参考图3中的流程图,控制台202处的用户请求包含任何数目的诸如服务器210和220的对象或组件的状态的网页(步骤300)。所述的状态可以包括该组件是否已被停止、启动或发生了错误等。用户还可以请求与组件210和220有关的其它信息。调用小服务程序204(步骤302)以动态地产生一个HTML文件(步骤304),其最终将被用于在控制台202上显示状态信息。虽然在图1中给出的现有系统中,小服务程序104将确定每个组件的状态,并且将相应于所述状态的图像包括在HTML文件,在本专利技术的系统200中,小服务程序204不是这样,而是将指向另一个小服务程序的图像标签包括在内(步骤306)。而且,该图像标签包括足够的信息以便执行相应组件的JMX查询。例如,一个示例性的图像标签可以包括<imagesrc=″/servlet/StatusServlet?component=Server&name=MyServer″/>其将调用一个名为StatusServlet的小服务程序,并且返回代表名为“MyServer”的“Server”类型的组件的状态的一个图像。由HTML文件定义的网页被运行在控制台上的浏览器203装入(步骤308),并且为每个图像标签发出状态请求(步骤310)。这些请求是并行发出的。这些请求被传输给每个服务器210和220(步骤312),但是由第二小服务程序(上面例子中的StatusServlet(状态小服务程序))的副本或实例212和222处理(步骤314)。该小服务程序的每个实例212、222使用在该请求中提供的信息,并且在相应的服务器上产生JMX查询(步骤316)。在收到了以表示该组件的状态的值的形式给出的对查询的响应(步骤318)之后,每个小服务程序212、222处理该响应,并且将它传给浏览器203(步骤320)。处理后的响应包括相应于从该JMX查询返回的值的一个图像。优选地,该处理后的响应还包括防止浏览器高速缓存该响应的指示。浏览器203接收以标准的可显示的图像出现的响应(步骤322)。当浏览器203接收到每个响应时,就为用户显示它(步骤324),即使是其它查询仍在被处理。再次参考最初的例子,如果有10个组件,并且每个JMX查询要用3分钟来完成,用户将只必须等待大约3分钟就看到结果,与现有的顺序方法相比有了显著的改进。图4给出了显示所接收到的几个资源的状态信息的浏览器窗口的示例性屏幕快照。通过在此披露的诸实施例,已经完整地了解了本专利技术的目标。本领域的技术人员将会理解,可以通过不同的实施例实现本专利技术的各个方面,而不脱离本专利技术的基本功能。特定的实施例只是示例性的,并且并不旨在限制由下面的权利要求所提出的本专利技术的范围。权利要求1.一种用于显示JMX监测信息的方法,包括接收对包括多个系统组件的状态的网页的请求;调用第一小服务程序,该第一小服务程序用于产生多个图像标签,每个图像标签对应于所述组件之一并且指向第二小服务程序的一个实例,每个图像标签包括用于执行JMX查询的信息;以及产生包括多个图像标签的HTML文件;在Web浏览器内装入基于该HTML文件的网页;对于由每个图像标签表示的图像,基本上并行地向所述第二小服务程序的各实例传输请求;以及对于所述第二小服务程序的每个实例基于所述图像标签内的信息执行JMX查询;接收来自JMX查询的响应,该响应包括代表着相应组件的状态的值;产生包括该返回值的图像;将该图像传输给所述浏览器;以及显示该图像。2.如权利要求1的方法,其中对表示相应组件的状态的返回值的图像的显示不依赖于对表示任何其它组件的状态的返回值的图像的显示。3.一种JMX状态监测工具,包括客户端设备;运行于所述客户端设备上的浏览器;多个系统组件,每个系统组件具有一个当前状态;第一小服务程序的多个实例,每个实例对应于所述多个系统组件内的一个组件;以及可以从所述浏览器调用的第二小服务程序,其被编程为产生多个图像标签,每个图像标签对应于所述多个组件中的一个组件并且指向所述第一小服务程序的一个实例,每个图像标签包括用于执行JMX查询的信息;以及产生包括多个图像标签的HTML文件;所述浏览器被编程为装入基于该HTML文件的网页;以及对于由每个图像标签表示的图像,基本并行地向所述第一小服务程序的各实例传输请求;以及所述第一小服务程序的每个实例被编程为基于所述图像标签内的信息执行JMX查询;接收来自JMX查询的响应,该响应包括代表着相应组件的状态的值。产生包本文档来自技高网
...

【技术保护点】
一种用于显示JMX监测信息的方法,包括:接收对包括多个系统组件的状态的网页的请求;调用第一小服务程序,该第一小服务程序用于:产生多个图像标签,每个图像标签对应于所述组件之一并且指向第二小服务程序的一个实例,每个图像标 签包括用于执行JMX查询的信息;以及产生包括多个图像标签的HTML文件;在Web浏览器内装入基于该HTML文件的网页;对于由每个图像标签表示的图像,基本上并行地向所述第二小服务程序的各实例传输请求;以及对于所述第二小 服务程序的每个实例:基于所述图像标签内的信息执行JMX查询;接收来自JMX查询的响应,该响应包括代表着相应组件的状态的值;产生包括该返回值的图像;将该图像传输给所述浏览器;以及显示该图像。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:BH丹尼尔MP埃特让CC米切尔DN布劳内斯
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1