使用 wlshell 管理 WebLogic Event Server

作者: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连接器。

连接到WLEvS

首先,我们将使用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
                      
wlevs connection

图1显示了在wlshell中执行这些命令的屏幕截图。

wlevs connection

图1.使用wlshel连接到服务器

我们将key设置为“Type”、“Name”和“Application”(本教程其余部分都将使用此设置)。关于“key”的详细概念,请点击此处

wlshell还有一个图形浏览器,如图2所示。浏览器中显示了MBean服务器URL、可用的JMX域,以及注册在com.bea.wlevs域上的所有MBean。

exploring wlevs

图2.使用wlshel查看com.bea.wlevs域

使用该浏览器可以很方便地浏览MBean以及可用的属性和操作。

管理服务器生命周期

ServerRuntime MBean提供了一个用于关闭服务器的操作。以下是关闭服务器的命令:

cd /ServerRuntime

invoke shutdown

或者简单一点:

invoke /ServerRuntime/shutdown

管理EPL规则

应用程序中的所有处理器都有各自相应的MBean,用于公开EPL规则管理操作。图3显示了helloworld应用程序中helloworldProcessor的MBean:

wlevs rules

图3.helloworld示例程序的EPL规则

图4显示了与EPLProcessor MBean交互的示例,我们分别添加和删除了一条EPL规则:

wlevs rules management

图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规则。

访问其他的MBean

WLEvS为许多其他的组件(如流和应用程序适配器)提供了MBeans。我们可以使用与wlshell相同的方式来访问这些组件的属性和操作。

比如说,以下脚本可以动态地修改helloworldAdapter的Message属性:

cd /HelloWorldAdapterConfig/${app}Adapter/$app

  get Message

  set Message "Hi! the time is now:"

  get Message
                      

图5显示了执行上述脚本时wlshell的输出:

wlevs rule change

图5.修改适配器的属性(单击图像查看大图)

更改会立即生效,图6显示了WLEvS控制台的输出。

wlevs adapter mbean

图6.输出显示修改立即生效

结束语

WebLogic Event Server通过标准JMX接口提供了所有的管理操作。JMX兼容工具(如wlshell)可用于有效地管理WLEvS。在本文中,我介绍了如何使用MBean属性和操作执行一些基本的的管理任务。使用同样的技巧也可以在其他MBean上执行另外一些管理任务。

参考资料

  • wlshell.net 站点含有大量与JMX脚本shell有关的信息

Paco Gómez是BEA公司的资深系统工程师。六年来,他帮助许多客户设计了解决方案架构。他持有工业自动化的硕士学位,在软件行业拥有17年的经验。他与人共同编写了一本WebLogic书,还是WebLogic技术社区的积极捐献者,发表了很多文章和演讲,贡献了一些创新性的工具,比如grinder和wlshell。