日志记录和警报
另请参见
Sun BPEL 服务引擎提供了在流程执行期间跟踪消息或表达式值的功能。日志记录和警报功能使用标准 WS-BPEL 扩展机制。几乎所有的 BPEL 活动都支持日志记录和警报。
IDE 提供了为流程活动定义日志记录和警报的功能。日志记录用于将指定的表达式值或合作伙伴链接端点引用信息写入到服务器日志中。通过使用警报功能,您可以接收包含此信息的警报。在设置了日志记录或警报条件并执行 BPEL 流程后,将会在服务器日志文件中写入指定的表达式值,或者将警报发送给用户,具体操作取决于日志级别。
日志记录和警报是在日志记录映射器中定义的。日志记录映射器将以标签的形式提供,并可从 BPEL 流程的“设计”或“源”视图中找到。日志记录映射器中包含以下组件:
- 源树窗格。源树窗格位于左侧并包含一个树组件,用于提供对业务流程的数据变量和合作伙伴链接的访问。用户可以在此处选择要跟踪的变量。
- 菜单栏。菜单栏提供了用于创建映射的运算符、必需元素以及 XPath 函数。这些函数的用法与 BPEL 映射器中函数的用法非常类似。
- 映射窗格。映射窗格包含用于创建映射的画布。从菜单栏中选择函数时,将在映射窗格中显示一个函数框。如果该函数接受任意参数,则在函数框的左侧会为每个参数提供一个连接器。如果参数是可选的,则会在参数名称后面显示一个问号。并且在函数框的右侧会为结果提供一个连接器。
- 目标树窗格。目标树窗格位于右侧,用户可通过该窗格选择生成日志记录的时间以及日志记录级别。
定义日志记录
在为活动定义日志记录时,您可以跟踪以下组件的值:
可以在映射中使用菜单栏上的一个或多个 XPath 函数。
记录变量值:
- 在图中选择一个活动。将根据活动执行情况执行日志记录。
- 转至 BPEL 编辑器的“日志记录”标签。将打开日志记录映射器。
也可以通过以下方法打开日志记录映射器:右键单击该活动,然后选择“转至”>“日志记录”(Alt-L)。
- 在源树窗格中展开变量树,直至看到要跟踪的变量。
- 在目标树窗格中展开活动节点。将显示指定日志记录时间的节点。
- 选择生成日志记录条目的时间,然后展开相应的节点:
- LOG_onStart。在开始执行活动时,将变量值写入到日志中。
- LOG_onComplete。在执行完活动时,将变量值写入到日志中。
- 定义日志记录级别。将连接从要跟踪的变量拖到目标树窗格中的相应节点。可以使用以下日志记录级别:
在“设计”视图中,定义了日志记录的活动旁边会显示一个小图标。通过单击该图标,您可以切换到日志记录映射器。
仅当为变量定义的日志级别与为应用服务器上 BPEL SE 指定的日志级别相对应时,才会生成日志条目。
为 BPEL SE 设置日志级别:
要为 BPEL SE 指定日志级别,请使用应用服务器的管理控制台。
- 在“服务”窗口中,展开“服务器”节点。确保 GlassFish 应用服务器正在运行。它旁边必须带有一个绿色箭头标记。如果该服务器未运行,请右键单击服务器名称,然后从上下文菜单中选择“启动”。
- 在浏览器中打开管理控制台。为此,请执行以下步骤:
- 右键单击 GlassFish V2 应用服务器节点,然后从上下文菜单中选择“属性”。将打开“服务器”窗口。在“服务器”窗格中,应选择了 "GlassFish V2"。
- 在“连接”标签上,复制“位置”字段的内容(缺省为 localhost:4848)。
- 将字符串粘贴到浏览器中,然后按 Enter 键。在浏览器窗口中打开 Sun Java System Application Server 管理控制台。
- 使用您的用户名和口令登录到管理控制台上。缺省情况下,用户名为 admin,口令为 adminadmin。
- 在左窗格的 JBI 节点下面,选择“组件”> "sun-bpel-engine"。将打开 BPEL 服务引擎属性页。
- 在 BPEL 服务引擎属性页中,选择“记录程序”标签。在“记录程序”标签中,您可以为各个记录程序指定日志级别。
- 从下拉列表中选择 sun-bpel-engine 的相应日志级别。
如果为流程活动定义了日志记录,并且为其指定的日志级别与为 BPEL SE 设置的日志级别相对应,则在执行流程的测试运行后,将在服务器日志文件中写入选定的变量值。
注意:应将项目部署到应用服务器中。
查看日志文件:
- 在“服务”窗口的“服务器”节点下面,右键单击 GlassFish V2 应用服务器节点,然后从上下文菜单中选择“查看服务器日志”。将在“输出”窗口中打开 GlassFish 服务器日志。活动消息值将包含在日志中,您可以使用“搜索”来查找该值。请注意,某些开销信息是隐藏的。
- 也可以在文本编辑器中打开日志并查看全部信息。导航至 <应用服务器安装目录>/domains/domain1/log/,并在文本编辑器中打开 server.log 文件。日志中提供的信息包括以下内容,并用垂直条分隔开:
- 条目的日期和时间
- 日志级别
- 管理器类型(对于日志记录,类型为跟踪管理器)
- 线程
- 消息值
下面是一个日志条目样例:
[#|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 System Application Server 管理控制台上定义的。
- 另请参见
- 启动和停止服务器
- 执行 BPEL 流程的测试运行
- 关于调试 BPEL 流程
法律声明