当前位置: 首页 > 图文教程 > 网络编程 > JSP > JMX调试----第三方工具使访问更加容易

JSP
搭建Eclipse+MyEclipse开发环境
卖jsp编程技巧的那个垃圾的所有实例的答案全部已收集,现将他人收集的实例答案公布出来,大家鉴赏!
一个jsp+AJAX评论系统
JSP 多个文件打包下载代码
JSP 动态树的实现
jsp 重复提交问题
J2ME/J2EE实现用户登录交互 实现代码
访问JSP文件或者Servlet文件时提示下载的解决方法
JSP EL表达式详细介绍
JSP 报表打印的一种简单解决方案
jsp 自定义标签实例
AJAX自学练习 无刷新从数据库后台取数据显示
AJAX 自学练习 请求与显示
AJAX 自学练习 无刷新提交并修改数据库数据并显示
jsp 文件上传浏览,支持ie6,ie7,ie8
JSP application(return String)用法详例
jsp form表单方法示例
JSP request(return String)用法详例
JSP forward用法分析实例代码分析
JSP JavaBean的setProperty属性

JSP 中的 JMX调试----第三方工具使访问更加容易


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-03   浏览: 70 ::
收藏到网摘: n/a

摘要

BEA WebLogic 8.1实现了Java Management Extensions (JMX) 1.0。大多数WebLogic子系统(JMS ProvidersJDBC ContainerExecuteQueues等)及其组成部分被称为Mbeans,并且包含配置、监控和管理它们所依据的属性。管理服务器实例实现了MbeanServer,而该管理服务器实例的配置和运行时Mbeans以及它的受控服务器的配置和运行时Mbeans都是通过该MbeanServer被访问的。

作者:Jim Weaver 

BEA WebLogic 8.1实现了Java Management Extensions (JMX) 1.0。大多数WebLogic子系统(JMS ProvidersJDBC ContainerExecuteQueues等)及其组成部分被称为Mbeans,并且包含配置、监控和管理它们所依据的属性(attribute)。管理服务器实例实现了MbeanServer,而该管理服务器实例的配置和运行时Mbeans以及它的受控服务器的配置和运行时Mbeans都是通过该MbeanServer被访问的。受控服务器实例实现了MbeanServer,而只有驻留在该受控服务器上的配置和运行时bean才能通过该MbeanServer被访问。

在运行服务器工作不正常的调试场景中,可对它的两个配置bean都进行检查,以便诊断出故障原因。可通过Java APIBEA Weblogic Mbeans进行有计划的访问。另外,WebLogic提供了两种无需编程访问Mbeans的方法:weblogic.Admin命令和wlconfig ant task。当然也还有无数的第三方工具可以提供对Mbeans的方便访问。我常使用的两个是:wlsh(由BEAPaco Gomez开发)和wlsScriptingBEASatya Ghattu使用Jpython开发的)。

我利用两台受控服务器的群集以及另外一台独立的受控服务器对TestDomain进行了配置。利用wlsh连接到管理服务器将会产生如清单1所示的结果。

连接到受控服务器将生成如清单2所示的结果。

现在我可以利用如下命令从管理服务器上检索ExecuteThreadCurrentIdleCount

wlsh TestDomain:/> idleCount=/ExecuteQueueRuntime/weblogic.kernel.Default/
ExecuteThreadCurrentIdleCount
variable idleCount set to /ExecuteQueueRuntime/weblogic.kernel.Default/
ExecuteThreadCurrentIdleCount (java.lang.String)
wlsh TestDomain:/> get
15

在生产场景中有一点总是很重要,那就是崩溃的服务器必须立即重新启动。清单3利用wlsScripting周期性地检查服务器的状态,并且在必要时重新启动它。同时,它还出于调试的目的对关键属性进行取样。

清单4显示了当一个线程延迟时,将脚本相对于examplesServer的实例而运行的输出。

I在不能存在大量调试的生产环境中,很难跟踪那些暂态错误。只有在某些情况下才能使用JMX API来报告调试错误。清单5安装了一个计数器监控器,该监控器在ServerRuntime MbeansOpenSocketsCurrentCount属性达到一定水平时被触发。它在目前的NotificationListener.handleNotification方法中除了记录下已经收到通知外什么也不做;但是,在实际情况中,当出现这种情形时你可能会启动一个线程来定期报告与关键资源相关的属性的值,比如来自默认队列的ExecuteQueueRuntimeMBeanPendingRequestsCurrentCount

下面是运行DebugMonitor的输出:

 
Java debug.DebugMonitor
 
Active Domain: medrecTwo
Active Servers:
        Name: MedRecServer
        ListenAddress: JWEAVER1/10.62.3.106
        ListenPort: 7001
 
        Number of servers active in the domain: 1
>>> MyCounter got notification: javax.management.monitor.MonitorNotification
...

链接

·  WebLogic JMX文档的起点:http://edocs.bea.com/wls/docs81/jmx/index.html

·  编程示例:http://edocs.bea.com/wls/docs81/jmx/index.html

·  weblogic.Admin命令: http://edocs.bea.com/wls/docs81/admin_ref/cli.html#MBean_Management_Command_Reference

·  wlconfig Ant taskhttp://edocs.bea.com/wls/docs81/admin_ref/ant_tasks.html#1023006

·  wlshhttp://www.wlshell.net/

·  wlsScripting工具:http://dev2dev.bea.com/codelibrary/code/wlst.jsp

你的感想如何?请阅读/参加对本文的 反馈

关于作者
Jim Weaver
是丹佛的一位backline WebLogic 支持工程师。他已在BEA工作了三年多,之前曾做过十多年的C++/Java开发人员
更多详情)。