corner imagecorner image
FeaturesPluginsDocs & SupportCommunityPartners

BPEL 设计器开发人员指南

日志和报警

Sun BPEL 服务引擎使您能够在流程执行期间跟踪消息或表达式值。日志和报警功能利用标准的 WS-BPEL 扩展机制。日志和报警功能支持几乎所有 BPEL 活动。

IDE 允许您为流程活动定义日志和报警功能。日志用于编写指定的表达式值或服务器日志的合作伙伴链接端点引用信息。报警允许您接收该信息的警告。设置了日志或报警条件并且执行了 BPEL 之后,根据日志级别的不同,会向服务器日志文件写入指定的表达式值,或者向用户发送一个警告。

日志和报警都在日志映射器中定义。日志映射器是作为 BPEL 流程的 Design 或 Source 视图的一个标签提供的。

定义日志

为活动定义日志时,可以跟踪以下组件的值:

  • 变量
  • 部分
  • 表达式

在映射中,您可以从菜单栏使用一个或多个 XPath 函数。

要记录变量值:

  1. 在图中选择一个活动。日志记录将会连同活动一起执行。
  2. 转到 BPEL 编辑器的“日志记录”标签。打开日志映射器。也可以通过右键单击活动然后选择“转到日志(Alt-L)”打开日志映射器。
  3. 在源树面板中,展开变量树,直到见到要跟踪的变量。
  4. 在目标树面板中展开活动节点。将会看到指明日志记录时刻的节点。
  5. 选择日志条目记录的时间并展开合适的节点。
    • LOG_onStart。活动开始时,该变量值将被写入到日志中。
    • LOG_onComplete。活动执行完成后,该变量值将被写入到日志中。
  6. 定义日志级别。将要跟踪的变量连接到目标树面板中合适的节点。可用的日志级别如下:
    • Severe
    • Warning
    • Info
    • Config
    • Fine
    • Finer

      要对记录到日志文件的值进行搜索,可以将该值连接到下图所示的字符串类型。

      日志映射器

      在 Design 视图中,带有在其上定义的日志的活动旁边将会出现一个小图标。单击该图标可以切换到日志映射器。

      日志图标

    只有当为变量定义的日志级别与为应用服务器上的 BPEL SE 指定的日志级别相对应时,才能输入日志。

要设置 BPEL SE 的日志级别:

要指定 BPEL SE 的日志级别,需要使用应用服务器管理控制台。

  1. 在“窗口”窗口中,展开“服务器”节点。确保 GlassFish 应用服务器正在运行。其旁边有一个绿色箭头标志。如果该服务器没有运行,请右键单击服务器名称并从上下文菜单中选择“启动”。
  2. 在浏览器中打开“管理控制台”。为此,执行以下步骤:
    • 右键单击 GlassFish V2 应用服务器节点,并从上下文菜单中选择“属性”。服务器窗口将会打开。在“服务器”面板上,应该选中 GlassFish V2。
    • 在“连接”标签上,复制 Location 字段的内容(默认为 localhost:4848)。
    • 将该字符串复制到浏览器并按 Enter 键。Sun Java 系统应用服务器管理控制台将会在浏览器窗口打开。
  3. 使用您的用户名和密码登录到管理控制台。默认情况下,用户名为 admin,密码为 adminadmin
  4. 打开左侧 JBI 节点下的面板,选择“组件”> sun-bpel-engine。BPEL 服务引擎属性页将会打开。
  5. 在 BPEL 服务引擎属性页面上选择 Loggers 标签。在 Loggers 标签上可以指定每个日志记录器的日志级别。
  6. 在下拉列表中为 sun-bpel-engine 选择合适的日志级别。

    如果为一个流程活动指定日志,而且其日志级别与 BPEL SE 的日志级别设置相对应,那么在对流程进行测试运行之后,所选的变量值将会被写入到服务器日志文件中。

    注意:项目应该部署到应用服务器。

要查看日志文件:

  1. 在“服务”窗口中,在“服务器”节点下右键单击 GlassFish V2 应用服务器节点并从上下文菜单中选择“查看服务器日志”。GlassFish 服务器日志将会在 Output 窗口中打开。活动消息值将会包含在日志中,可以通过搜索找到它。注意,一些开销信息被隐藏了。
  2. 也可以在文本编辑器中打开日志并查看完整的信息。导航到 <应用服务器安装目录>/domains/domain1/log/,使用文本编辑器打开 server.log 文件。日志中提供的信息包括以下内容,通过水平线分开:
    • 输入的日期和时间
    • 日志级别
    • 管理器类型(对日志来说是 Trace Manager)
    • 线程
    • 消息值

      下面是日志条目的一个示例:

      [#|2008-03-25T09:26:18.796+0300|INFO|sun-appserver9.1|com.sun.jbi.engine.bpel.core.bpel.trace.BPELTraceManager|_ThreadID=26;_ThreadName=BPELSEInOutThread8;|<?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:msgns="http://localhost/SynchronousSample/SynchronousSample" name="input1" type="msgns:requestMessage" version="1.0" xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"><jbi:part><syn:typeA xmlns:syn="http://xml.netbeans.org/schema/SynchronousSample"> <syn:paramA>Hello World</syn:paramA> </syn:typeA></jbi:part></jbi:message>|#]

定义报警

报警的定义方式与日志类似。应该执行报警时,在日志映射器中定义活动的报警级别。BPEL SE 的报警方式(电子邮件或其他)和报警级别在 Sun Java 系统应用服务器管理控制台上定义。

返回顶部


Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems