作者:Paco Gómez
08/29/2007
本教程将介绍如何使用wlshell执行BEA WebLogic Event Server(WLEvS)管理。WLEvS通过一个标准JMX接口公开了各种管理操作,包括为应用程序处理器动态配置事件处理描述语言(Event Processing Language,EPL)规则。本文将介绍与服务器生命周期有关的公共管理任务、事件处理描述语言规则、和Adapter MBean。文中所提供的示例使用的都是wlshell。wlshell是一种脚本shell,它允许我们通过其JMX接口管理Java应用程序。
本文所执行的管理任务使用的是2.0版本的 WebLogic Event Server 和2.0版本的 wlshell。使用的示例应用程序是WLEvS中自带的 HelloWorld。在默认情况下,这个域配置启用了JXM服务。
wlshell是一种针对JMX的特定于域的编程语言。它是一种完全兼容JMX规范的脚本shell,提供了对MBeans的快捷方法。
由于WLEvS和wlshell都基于标准的JMX,因此这两种产品都是直接开箱即用的,无需任何定制。WLEvS还含有一个wlevs.Admin工具,用于访问MBeans和操作EPL规则。
wlshell可以与WLEvS运行在同一台机器上,也可以运行于远程的服务器上。运行wlshell的机器并不需要安装WLEvS。惟一需要的就是wlshell安装文件和有效的JDK或JRE(版本5或版本6)。请参阅wlshell安装文档,了解如何使用 JMXRemote连接器。
首先,我们将使用wlshell连接到HelloWorld WLEvS域。在wlshell中,使用connect命令接连到WLEvS服务器,输入URL、用户名和密码,如下所示:
#connect connect service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi wlevs wlevs #change to wlevs domain com.bea.wlevs: #set keys keys Type Name Application #list current directory ls #show the explorer explore
图1显示了在wlshell中执行这些命令的屏幕截图。
图1.使用wlshel连接到服务器
我们将key设置为“Type”、“Name”和“Application”(本教程其余部分都将使用此设置)。关于“key”的详细概念,请点击此处。
wlshell还有一个图形浏览器,如图2所示。浏览器中显示了MBean服务器URL、可用的JMX域,以及注册在com.bea.wlevs域上的所有MBean。
图2.使用wlshel查看com.bea.wlevs域
使用该浏览器可以很方便地浏览MBean以及可用的属性和操作。
ServerRuntime MBean提供了一个用于关闭服务器的操作。以下是关闭服务器的命令:
cd /ServerRuntime
invoke shutdown
或者简单一点:
invoke /ServerRuntime/shutdown
应用程序中的所有处理器都有各自相应的MBean,用于公开EPL规则管理操作。图3显示了helloworld应用程序中helloworldProcessor的MBean:
图3.helloworld示例程序的EPL规则
图4显示了与EPLProcessor MBean交互的示例,我们分别添加和删除了一条EPL规则:
图4.使用wlshell检索、删除和添加规则(单击图像查看大图)
以下是所使用的脚本:
app = helloworld cd /EPLProcessor/${app}Processor/$app get AllRules invoke getRule helloworldRule invoke deleteRule helloworldRule get AllRules invoke addRule helloworldRule "select * from HelloWorldEvent retain 1 event" get AllRules
如您所见,以上脚本提供了完全访问权限来操作EPL规则。
WLEvS为许多其他的组件(如流和应用程序适配器)提供了MBeans。我们可以使用与wlshell相同的方式来访问这些组件的属性和操作。
比如说,以下脚本可以动态地修改helloworldAdapter的Message属性:
cd /HelloWorldAdapterConfig/${app}Adapter/$app get Message set Message "Hi! the time is now:" get Message
图5显示了执行上述脚本时wlshell的输出:
图5.修改适配器的属性(单击图像查看大图)
更改会立即生效,图6显示了WLEvS控制台的输出。
图6.输出显示修改立即生效
WebLogic Event Server通过标准JMX接口提供了所有的管理操作。JMX兼容工具(如wlshell)可用于有效地管理WLEvS。在本文中,我介绍了如何使用MBean属性和操作执行一些基本的的管理任务。使用同样的技巧也可以在其他MBean上执行另外一些管理任务。
Paco Gómez是BEA公司的资深系统工程师。六年来,他帮助许多客户设计了解决方案架构。他持有工业自动化的硕士学位,在软件行业拥有17年的经验。他与人共同编写了一本WebLogic书,还是WebLogic技术社区的积极捐献者,发表了很多文章和演讲,贡献了一些创新性的工具,比如grinder和wlshell。