监视 WebSphere Process Server 环境中的 WebSphere J2C 适配器轮询线程

学习如何监视部署在 WebSphere Process Server 环境中的 WebSphere® J2C Architecture 适配器的轮询线程。客户常常希望知道一个 WebSphere Adapter 是否在其 WebSphere Process Server 生产环境中轮询一个 EIS 系统。本教程将探讨 PMI 度量、公共基础事件、跟踪和 J2C 消息端点状态技术的使用。监视消息端点的状态是一项强大的技术,可用于在所有适配器轮询场景中监视轮询线程的状态。

Samir Nasser, 高级管理顾问, IBM

Samir Nasser 是位于北卡罗莱纳州德罕市的 IBM Software Services for WebSphere 团队的一名 IT 专家。他目前正在设计和开发基于 WebSphere 产品系列的 SOA 解决方案。



2012 年 9 月 07 日

开始之前

本教程介绍了在 WebSphere Process Server 环境中监视 WebSphere Java™ 2 Connector (J2C) 适配器的轮询线程的各种方式。

目标

本教程的目标是展示:

  • 您可使用性能度量基础架构 (Performance Metrics Infrastructure, PMI) 度量来监视以下场景中的适配器轮询线程:
    • 适配器使用 SCA 模块封装和部署,该模块为该适配器类型使用惟一适配器 SCA 导出组件。
    • 只有一个 SCA 模块具有一个使用特定适配器类型的适配器 SCA 导出组件。
  • 可在封装和部署适配器来执行入站数据处理的所有场景中使用 J2C 消息端点监视。
  • 当通过公共基础事件 (CBE) 和跟踪来监视时,会对性能产生负面影响,只应在战术上需要时使用。

先决条件

要完成本教程中的步骤,您需要使用 WebSphere Integration Developer V7 来查看使用 WebSphere J2C 适配器的 SCA 模块代码。您还需要安装 WebSphere Process Server 来轮询线程监视和测试。关于监视和测试,使用 WebSphere Integration Developer 中提供的 WebSphere Process Server 测试环境。

系统需求

  • WebSphere Integration Developer V7
  • WebSphere Integration Developer 附带的 WebSphere Process Server V7 测试环境

持续时间

2 小时


简介

WebSphere J2C 适配器支持在 WebSphere Process Server 中运行的 SCA 应用程序可访问或执行各种企业信息系统 (Enterprise Information System, EIS)(比如文件系统和 DB2)中的逻辑。例如,用于平面文件的 WebSphere Adapter 支持 SCA 应用程序在文件系统中读取和写入文件。还有一些专用于 JDBC、SAP 等的 WebSphere 适配器支持 SCA 应用程序在其他 EIS 系统中读取和写入数据。要为平面文件配置一个 WebSphere 适配器以便从文件系统读取文件,该适配器会配置为在文件系统中轮询一个文件,此文件具有与适配器激活规范中指定的模式匹配的名称。

我们总能听到的一个问题是:我怎么才能知道适配器是否在轮询?这可能发生在配置用来从一个 EIS 系统使用的任何适配器类型上。

本教程展示监视适配器是否在轮询 WebSphere Process Server 环境中的 EIS 系统的各种方式。因为本教程重点介绍对适配器轮询线程的监视,所以我们将简化测试监视所需的应用程序代码和适配器环境。最简单的适配器环境是平面文件适配器环境。其他适配器类型需要标准操作系统通常没有的环境。


使用样例代码

本教程 Download 部分提供的 项目交换文件 包含 4 个 SCA 模块和平面文件适配器连接器项目:

  1. FFAdapterTest1。一个 SCA 平面文件适配器导出配置为在文件夹 c:\FF\events 中轮询具有扩展名为 “.test1” 的文件名。
  2. FFAdapterTest2。一个 SCA 平面文件适配器导出配置为在文件夹 c:\FF\events 中轮询具有扩展名为 “.test2” 的文件名。
  3. FFAdapterTest3。一个 SCA 平面文件适配器导出配置为使用位于 jndi/FFATest3AS 的一个已有的 J2C 激活规范。为适配器配置了现有的激活规范来轮询具有扩展名为 “.test3” 的文件名。
  4. FFAdapterTest4。一个 SCA 平面文件适配器导出配置为使用位于 jndi/FFATest4AS 的一个已有的 J2C 激活规范。为适配器配置了现有的激活规范来轮询具有扩展名为 “.test4” 的文件名。

平面文件适配器部署在 FFAdapterTest1FFAdapterTest2 中。但它并 部署在 FFAdapterTest3FFAdapterTest4 中。平面文件适配器是独立安装和部署的,但在 FFAdapterTest3 和 FFAdapterTest4 之间共享。

所有这些模块在功能上类似。在运行时,它们使用一个来自 c:\FF\events 的具有正确扩展名的文件并将该文件归档在 c:\FF\archive 中。在每个模块中实现的 FFAdapterTest 简单 Java 组件还会在 SystemOut.log 文件中打印一条消息。该消息显示为:"SUCCESS --> ModuleName consumed a file"。

如果希望测试代码,可创建两个文件夹:c:\FF\eventsc:\FF\archive。这两个文件夹在 J2C 激活规范中分别配置为事件和归档目录。然后,将提供的 项目交换文件 导入 WebSphere Integration Developer V7 中。


当一个适配器使用 SCA 模块进行部署时

本节探讨利用 PMI 度量的监视选项。SCA 模块部署后,适配器 PMI 度量启用,适配器轮询线程已被监视。

部署 SCA 模块

执行以下步骤来部署 FFAdapterTest1 和 FFAdapterTest2:

  1. 如果未启动,从 Integration Developer 的 server 视图启动 WebSphere Process Server 测试环境。等待服务器启动。
  2. 右键单击服务器名称并单击 Add and Remove Projects
  3. Available projects 中选择 FFAdapterTest1FFAdapterTest2,单击 Add,然后单击 Finish
  4. 等待项目发布。

当 SCA 模块启动时,清单 1 中所示的以下消息将记录到 SystemOut.log 中。

清单 1. 消息端点激活消息
J2CA0523I: The Message Endpoint for ActivationSpec
FFAdapterTest1/FFAdapterExport_AS (com.ibm.j2ca.flatfile.FlatFileActivationSpecWithXid)
and MDB Application FFAdapterTest1App#FFAdapterTest1FFAdapterExport#FFAdapterTest1 
is activated.

J2CA0523I: The Message Endpoint for ActivationSpec
FFAdapterTest2/FFAdapterExport_AS (com.ibm.j2ca.flatfile.FlatFileActivationSpecWithXid) 
and terTest2App#FFAdapterTest2FFAdapterExport#FFAdapterTest2 is activated.

请注意,如果目录 c:\FF\events 不存在,消息端点将无法使用记录在该结果中的错误进行激活。

监视平面文件适配器轮询线程

本节仅适用于使用 SCA 模块部署平面文件适配器、且在每个 SCA 模块中只有一个平面文件适配器导出时。或者,当整个环境中只有一个 SCA 模块使用一个平面文件适配器 SCA 导出时。您可在生产中使用该技术以便进行持续监视。

在这种情况下,对 FFAdapterTest1 的轮询线程和 FFAdapterTest2 的轮询线程的监视可使用 PMI 度量轻松完成。执行以下步骤来启用轮询线程的监视:

  1. 登录到管理控制台。
  2. 在左侧的导航表中,展开 Monitoring and Tuning > Performance Viewer 并单击 Current activity
  3. 单击 server1
  4. 展开 Performance Modules> WBIStats.RootGroup > ResourceAdapter。您将注意到有两个已取消激活(变成灰色)的条目;一个针对 FFAdapterTest1,另一个针对 FFAdapterTest2。展开 FFAdapterTest1 > InboundEventRetrieval。您将看到一个名为 “InboundEventRetrieval_Test1FFA” 的条目。此模块用于与模块 FFAdapterTest1 中的平面文件适配器导出关联的轮询线程。字符串 “Test1FFA” 是部署到 FFAdapterTest1 中的已分配的适配器 ID。此刻,此条目已停用。您需要激活它才能看到适配器轮询线程正常运行。以下步骤将激活该条目。
  5. 在左侧的导航表中,单击 Performance Monitoring Infratsructure (PMI)
  6. 单击 server1
  7. 单击 Runtime 选项卡。
  8. 选择 Custom 单选按钮并单击 OK
  9. 单击 server1,然后单击 Runtime 选项卡。
  10. 单击 Custom 链接。
  11. 确保 Runtime 选项卡被选中。展开 WBIStats.RootGroup > ResourceAdapter > com.ibm.j2c.a.resourceadapter.FFAdapterTest1 > InboundEventRetrieval。单击 InboundEventRetrieval_Test1FFA。选择所有度量(如图 1 中所示),单击 Enable 启用选定的度量。
    图 1. 轮询线程度量
    轮询线程度量
  12. 为 FFAdapterTest2 重复前面的步骤。
  13. 现在轮询线程度量已启用,对 FFAdapterTest1 和 FFAdapterTest2 执行第 2 到 4 步。您将看到,WBIStats.RootGroupResourceAdaptercom.ibm.j2ca.resourceadapter 条目仍然是灰色的,但 InboundEventRetrieval 条目已启用。单击 InboundEventRetrieval_Test1FFAInboundEventRetrieval_Test2FFA 的复选框,如图 2 所示,然后单击 View Module(s)。轮询线程度量已在一个图表中描绘出,如图 3 所示。
    图 2. 轮询线程条目
    轮询线程条目
    图 3. 轮询线程度量
    轮询线程度量

GoodRequests 度量表示成功的轮询数量。如果此数量停止增长,则表明轮询线程没有轮询。在此情况下,两个轮询线程的 GoodRequests 指标是相同的。

请注意,这里的轮询线程监视也可使用 CBE、一个适配器跟踪字符串或 J2C 消息端点的状态来实现。


当一个适配器未使用 SCA 模块进行部署时

本节探讨利用 CBE 和跟踪的监视选项。平面文件适配器已安装,平面文件适配器激活规范已创建,SCA 模块已部署,特定的 CBE 和跟踪已启用,并且适配器轮询线程已被监视。本节将展示,使用 CBE 和跟踪的监视无法提供足够的信息来表明轮询线程是活动的。此外,这些监视选项对性能具有负面影响。

安装平面文件适配器

执行以下步骤来安装平面文件适配器:

  1. 登录到管理控制台。
  2. 在左侧的导航表中,展开 Resources > Resource Adapters。单击 Resource adapters
  3. 单击 Install RAR
  4. 单击 Browse 找到平面文件适配器 RAR。选择 flat file adapter RAR 并单击 Next。平面文件适配器 RAR 是随 WebSphere Integration Developer 一起发布的。各种适配器类型位于 WID_Install_Folder\ResourceAdapters 中。
  5. 单击 OKSave
  6. 单击刚安装的平面文件适配器的链接。
  7. 单击 Custom propertie
  8. 指定 S_FFA 作为 adapterID 属性并保存。

为 FFAdapterTest3 和 FFAdapterTest4 创建一个 J2C 激活规范

执行以下步骤来创建激活规范:

  1. 单击刚安装的平面文件适配器的链接。
  2. 单击 J2C activation specifications
  3. 单击 New
  4. 输入 FFAdapterTest3_AS 作为名称。
  5. 输入 jndi/FFATest3AS 作为 JNDI 名称。
  6. 选择 com.ibm.j2ca.base.ExtendedInboundListener 作为 Message listener type
  7. 单击 OKSave
  8. 单击刚创建的激活规范的链接。
  9. 单击 J2C activation specification custom properties
  10. 指定 c:\FF\events 作为 eventDirectory 属性。
  11. 指定 c:\FF\archive 作为 archiveDirectory 属性。
  12. 指定 (FileName MatchesFilePattern *.test3) 作为 ruleTable 属性。
  13. 重复以前的步骤以创建 J2C 激活规范 FFAdapterTest4_AS。确保它的 JNDI 名称为 jndi/FFATest4AS,并且 ruleTable 属性设置为 (FileName MatchesFilePattern *.test4)

部署 SCA 模块

执行以下步骤来部署 FFAdapterTest3 和 FFAdapterTest4:

  1. 如果未启动,从 WebSphere Integration Developer 的 server 视图启动 WebSphere Process Server 测试环境。等待服务器启动。
  2. 右键单击服务器名称并单击 Add and Remove Project
  3. Available projects 选择 FFAdapterTest3FFAdapterTest4,单击 Add,然后单击 Finish
  4. 等待项目发布。

当 SCA 模块启动时,清单 2 中所示的以下消息将记录到 SystemOut.log 中。

清单 2. 消息端点激活消息
J2CA0523I: The Message Endpoint for ActivationSpec
jndi/FFATest3AS (com.ibm.j2ca.flatfile.FlatFileActivationSpecWithXid) and
MDB Application FFAdapterTest3App#FFAdapterTest3FFAdapterExport#FFAdapterTe
st3 is activated.

J2CA0523I: The Message Endpoint for ActivationSpec
jndi/FFATest4AS (com.ibm.j2ca.flatfile.FlatFileActivationSpecWithXid) and
MDB Application FFAdapterTest4App#FFAdapterTest4FFAdapterExport#FFAdapterTe
st4 is activated.

请注意,如果目录 c:\FF\events 不存在,消息端点将无法激活。

监视平面文件适配器轮询线程

请注意,这里介绍的技术只应在战术上需要时谨慎使用,尤其在生产环境中更需谨慎。

在本例中,监视 FFAdapterTest3 的轮询线程和 FFAdapterTest4 的轮询线程的过程无法 使用 PMI 度量来完成。执行以下步骤来了解其中的原因:

  1. 登录到管理控制台。
  2. 在左侧的导航表中,展开 Monitoring and Tuning > Performance Viewer 并单击 Performance Monitoring Infrastructure (PMI)
  3. 单击 server1
  4. 单击 Runtime 选项卡。
  5. 单击 Custom 链接。
  6. 确保 Runtime 选项卡被选中。展开 WBIStats.RootGroup > ResourceAdapter > com.ibm.j2c.a.resourceadapter.wps_wbiserver > InboundEventRetrieval。请注意,您将在 InboundEventRetrieval 下看到 3 个条目:InboundEventRetrieval_Test1FFAInboundEventRetrieval_Test2FFAInboundEventRetrieval_S_FFA,其中附加到最后一个条目的 S_FFA 是您之前安装的默认适配器 ID。

    使用与此适配器 ID 关联的 PMI 度量不会监视模块 FFAdapterTest3 或 FFAdapterTest4 实际轮询的粒度。如果只有一个 SCA 模块具有一个在此环境中使用的适配器导出,那么使用 PMI 度量监视适配器轮询线程将有效,因为只有一个轮询线程与惟一的适配器导出相关联。那么,在适配器未使用 SCA 模块进行部署、以及您有多个 SCA 模块共享同一个适配器部署时,如何监视轮询线程?类似地,如何监视一个使用具有多个适配器导出的 SCA 模块进行部署的适配器的轮询线程?执行以下步骤实现一种受限的监视技术。

  7. 在管理控制台的导航表中,展开 Troubleshooting 并单击 Logs and trace
  8. 单击 server1
  9. 单击 Change Log Detail Levels
  10. 单击 Runtime 选项卡。
  11. 展开 * > WBIEventMonitor.LOG.ResourceAdapter.*
  12. 单击 WBIEventMonitor.LOG.ResourceAdapter.Polling.*。单击 Message and Trace Levels 并单击级别 fine。此设置打开轮询线程的启动和停止 CBE 事件。
  13. 重新启动 FFAdapterTest3FFAdapterTest4。此步骤是必需的,因为轮询线程的启动事件已发生。当模块重新启动时,轮询线程的停止事件首先发生,然后发生启动事件。
  14. 请注意,清单 3 中所示的消息记录在 SystemOut.log 文件中。清单 3 显示了 FFAdapterTest4 轮询线程的停止事件和紧随其后的启动事件。FFAdapterTest3 发生了同样的过程。请注意,当轮询线程停止时,消息端点被解除激活。当轮询线程启动时,消息端点被激活。
    清单 3. 轮询线程监视
    [5/24/12 19:57:05:984 EDT] 00000047 STOPPED       I   
    <CommonBaseEvent creationTime="2012-05-24T23:57:05.984Z"
    extensionName="WBI.JCAAdapter.Polling.STOPPED"
    severity="10" version="1.0.1"><contextDataElements
    name="ECSCurrentID"
    type="string"><contextValue>com.ibm.websphere.CorrelationSp
    here.implicit</contextValue></contextDataElements><contextD
    ataElements name="ECSParentID"
    type="string"></contextDataElements><contextDataElements
    name="WBISESSION_ID"
    type="string"><contextValue>UNKNOWN</contextValue></context
    DataElements><extendedDataElements name="EventNature"
    type="string"><values>STOPPED</values></extendedDataElement
    s><extendedDataElements name="PayloadType"
    type="string"><values>empty</values></extendedDataElements>
    <sourceComponentId component="WPS#[SCA 1.0.1.9
    cf091048.02]Platform 7.0.0.13 [ND 7.0.0.13 cf131039.07][WBI
    7.0.0.3 of1034.05][WXS 7.1.0.0 a1025.57350][XML 1.0.0.7
    cf071033.05]" componentIdType="Component Kind QName"
    executionEnvironment="Windows XP[x86]#5.1 build 2600
    Service Pack 3" instanceId="IBM-02BE93E63E4Node01Cell\IBM-
    02BE93E63E4Node01\server1" location="IBM-02BE93E63E4"
    locationType="Hostname" processId="2832"
    subComponent="{http://www.ibm.com/j2ca/ResourceAdapter}wps.wbiserver.Polling_S_FFA" 
    threadId="WebContainer : 2"
    componentType="{http://www.ibm.com/xmlns/prod/websphere/scd
    l/eis/6.0.0}JCAAdapter"/><situation
    categoryName="ReportSituation"><situationType
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:type="ReportSituation" reasoningScope="EXTERNAL"
    reportCategory="STATUS"/></situation></CommonBaseEvent>
    [5/24/12 19:57:05:984 EDT] 00000047 ActivationSpe I   
    J2CA0524I: The Message Endpoint for ActivationSpec
    jndi/FFATest4AS
    (com.ibm.j2ca.flatfile.FlatFileActivationSpecWithXid) and
    MDB Application
    FFAdapterTest4App#FFAdapterTest4FFAdapterExport#FFAdapterTe
    st4 is deactivated.
    
    [5/24/12 19:57:27:171 EDT] 00000047 STARTED       I   
    <CommonBaseEvent creationTime="2012-05-24T23:57:27.171Z"
    extensionName="WBI.JCAAdapter.Polling.STARTED"
    severity="10" version="1.0.1"><contextDataElements
    name="ECSCurrentID"
    type="string"><contextValue>com.ibm.websphere.CorrelationSp
    here.implicit</contextValue></contextDataElements><contextD
    ataElements name="ECSParentID"
    type="string"></contextDataElements><contextDataElements
    name="WBISESSION_ID"
    type="string"><contextValue>UNKNOWN</contextValue></context
    DataElements><extendedDataElements name="EventNature"
    type="string"><values>STARTED</values></extendedDataElement
    s><extendedDataElements name="PayloadType"
    type="string"><values>empty</values></extendedDataElements>
    <extendedDataElements name="PollQuantity"
    type="int"><values>10</values></extendedDataElements>
    <extendedDataElements name="PollFrequency"
    type="int"><values>2000</values></extendedDataElements>
    <sourceComponentId component="WPS#[SCA 1.0.1.9
    cf091048.02]Platform 7.0.0.13 [ND 7.0.0.13 cf131039.07][WBI
    7.0.0.3 of1034.05][WXS 7.1.0.0 a1025.57350][XML 1.0.0.7
    cf071033.05]" componentIdType="Component Kind QName"
    executionEnvironment="Windows XP[x86]#5.1 build 2600
    Service Pack 3" instanceId="IBM-02BE93E63E4Node01Cell\IBM-
    02BE93E63E4Node01\server1" location="IBM-02BE93E63E4"
    locationType="Hostname" processId="2832"
    subComponent="{http://www.ibm.com/j2ca/ResourceAdapter}wps.wbiserver.Polling_S_FFA" 
    threadId="WebContainer : 2"
    componentType="{http://www.ibm.com/xmlns/prod/websphere/scd
    l/eis/6.0.0}JCAAdapter"/><situation
    categoryName="ReportSituation"><situationType
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:type="ReportSituation" reasoningScope="EXTERNAL"
    reportCategory="STATUS"/></situation></CommonBaseEvent>
    [5/24/12 19:57:27:171 EDT] 00000047 ActivationSpe I 
    J2CA0523I: The Message Endpoint for ActivationSpec
    jndi/FFATest4AS
    (com.ibm.j2ca.flatfile.FlatFileActivationSpecWithXid) and
    MDB Application
    FFAdapterTest4App#FFAdapterTest4FFAdapterExport#FFAdapterTe
    st4 is activated.

如果执行上面的第 7 到 10 步,您可使用另一种跟踪设置来得到同样的结果。该跟踪设置为:

WBILocationMonitor.LOG.ResourceAdapter.com.ibm.j2ca.
 resourceadapter.wps_wbiserver.Polling.*

但是,可进一步扩展此跟踪设置,以获得对要捕获哪个适配器轮询启动或停止事件的更细粒度控制。

目前为止指定的跟踪设置将仅捕获轮询线程的启动和停止事件。那么,如何捕获在轮询线程轮询文件系统中能够获得的某些文件时定期发生的轮询事件呢?要捕获此事件,指定以下跟踪设置:

com.ibm.j2ca.FFRAS_FFA=fine

您可通过展开 com.ibm.j2ca.* 并将 com.ibm.j2ca.FFRAS_FFA 跟踪级别设置为 fine 来获得此跟踪设置。清单 4 显示了 S_FFA 适配器的轮询事件。

清单 4. 轮询事件
[5/25/12 11:44:18:921 EDT] 00000050 FFRAS_FFA     1
com.ibm.j2ca.extension.eventmanagement.internal.WorkControl
ler submitWork(Work) Submitting work to WorkManager:
PollThread [state: started, polling:
com.ibm.j2ca.extension.eventmanagement.internal.EventManage
r@23be23be]
[5/25/12 11:44:18:921 EDT] 00000050 FFRAS_FFA     1
com.ibm.j2ca.extension.eventmanagement.internal.WorkControl
ler submitWork(Work) Successfully submitted work to
WorkManager: PollThread [state: started, polling:
com.ibm.j2ca.extension.eventmanagement.internal.EventManage
r@23be23be]
[5/25/12 11:44:19:796 EDT] 00000051 FFRAS_FFA     1
com.ibm.j2ca.extension.eventmanagement.internal.WorkControl
ler submitWork(Work) Submitting work to WorkManager:
PollThread [state: started, polling:
com.ibm.j2ca.extension.eventmanagement.internal.EventManage
r@2ed32ed3]
[5/25/12 11:44:19:796 EDT] 00000051 FFRAS_FFA     1
com.ibm.j2ca.extension.eventmanagement.internal.WorkControl
ler submitWork(Work) Successfully submitted work to
WorkManager: PollThread [state: started, polling:
com.ibm.j2ca.extension.eventmanagement.internal.EventManage
r@2ed32ed3]

如清单 4 所示,可以看到有两个线程(蓝色)用于轮询文件系统。但是,您无法确定哪个线程属于哪个激活规范。

指定以下跟踪设置将仅提供一个线程,无论有多少个 SCA 模块在共享同一个适配器来使用文件也是如此。

WBIEventMonitor.LOG.ResourceAdapter.InboundEventRetrieval.
 *=fine
WBILocationMonitor.LOG.ResourceAdapter.com.ibm.j2ca.
 resourceadapter.wps_wbiserver.InboundEventRetrieval.*=fine

那么,在此情况下您如何知道一个轮询线程是否在实际轮询?这将在下一节中探讨。


监视 J2C 消息端点

本节适用于所有适配器轮询场景和所有适配器类型,比如平面文件、FTP、JDBC 和 SAP。这是一种有效的技术,您可在生产中用于持续监视。

本节介绍了一种监视任何适配器的轮询线程的技术。该技术涉及到检查与一个激活规范关联的消息端点的状态。执行以下步骤来监视轮询线程:

  1. 打开一个命令窗口。
  2. 将目录更改为测试环境的 wsadmin 命令所在的位置。
  3. 输入 wsadmin –lang jython
  4. 在 wsadmin 提示符下,输入 AdminControl.queryNames("*:type=J2CMessageEndpoint,*")。这会转储所有 J2C 消息端点的名称。
  5. 找到与您希望监视其轮询线程的适配器导出关联的消息端点的名称。在本例中,获得与 FFAdapterTest3 中使用的适配器导出关联的消息端点。
  6. 输入:
    objectName=AdminControl.queryNames("*:name=FFAdapterTest3App
      #FFAdapterTest3FFAdapterExport#FFAdapterTest3_J2CMessageEndpoint,*")

    此命令将消息端点的名称存储在 objectName 变量中。

  7. 输入 AdminControl.invoke(objectName, 'getStatus')。这会返回 “1”,这意味着消息端点是活动的。
  8. 输入 AdminControl.invoke(objectName, 'pause')。这会停用消息端点,进而停用轮询线程。执行此命令后,可在 SystemOut.log 文件中看到清单 5 中所示的日志消息。只有在开启了 CBE 时,才会记录 CBE 启动或停止事件,如前面所述。
    清单 5. 停用一个消息端点
    [5/25/12 23:39:28:718 EDT] 00000061 STOPPED       I   
    <CommonBaseEvent creationTime="2012-05-26T03:39:28.703Z"
    extensionName="WBI.JCAAdapter.Polling.STOPPED"
    severity="10" version="1.0.1"><contextDataElements
    name="ECSCurrentID"
    type="string"><contextValue>com.ibm.websphere.CorrelationSp
    here.implicit</contextValue></contextDataElements><contextD
    ataElements name="ECSParentID"
    type="string"></contextDataElements><contextDataElements
    name="WBISESSION_ID"
    type="string"><contextValue>UNKNOWN</contextValue></context
    DataElements><extendedDataElements name="EventNature"
    type="string"><values>STOPPED</values></extendedDataElement
    s><extendedDataElements name="PayloadType"
    type="string"><values>empty</values></extendedDataElements>
    <sourceComponentId component="WPS#[SCA 1.0.1.9
    cf091048.02]Platform 7.0.0.13 [ND 7.0.0.13 cf131039.07][WBI
    7.0.0.3 of1034.05][WXS 7.1.0.0 a1025.57350][XML 1.0.0.7
    cf071033.05]" componentIdType="Component Kind QName"
    executionEnvironment="Windows XP[x86]#5.1 build 2600
    Service Pack 3" instanceId="IBM-02BE93E63E4Node01Cell\IBM-
    02BE93E63E4Node01\server1" location="192.168.1.145"
    locationType="Hostname" processId="9976"
    subComponent="{http://www.ibm.com/j2ca/ResourceAdapter}wps.
    wbiserver.Polling_S_FFA" threadId="SoapConnectorThreadPool
    : 4"
    componentType="{http://www.ibm.com/xmlns/prod/websphere/scd
    l/eis/6.0.0}JCAAdapter"/><situation
    categoryName="ReportSituation"><situationType
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:type="ReportSituation" reasoningScope="EXTERNAL"
    reportCategory="STATUS"/></situation></CommonBaseEvent>
    [5/25/12 23:39:28:734 EDT] 00000061 ActivationSpe I  
    J2CA0524I: The Message Endpoint for ActivationSpec
    jndi/FFATest3AS
    (com.ibm.j2ca.flatfile.FlatFileActivationSpecWithXid) and
    MDB Application
    FFAdapterTest3App#FFAdapterTest3FFAdapterExport#FFAdapterTe
    st3 is deactivated.

    现在,如果将一个具有扩展名 “.test3” 的文件放在 c:\FF\events 文件夹中,它不会被选中。

  9. 输入 AdminControl.invoke(objectName, 'getStatus')。这将返回 “2”,这意味着消息端点是不活动的。
  10. 输入 AdminControl.invoke(objectName, 'resume')。这会实际启动轮询线程并激活消息端点。执行此命令后,可在 SystemOut.log 文件中看到清单 6 中所示的日志消息。
    清单 6. 激活一个消息端点
    [5/25/12 23:44:10:062 EDT] 0000005d STARTED       I   
    <CommonBaseEvent creationTime="2012-05-26T03:44:10.062Z"
    extensionName="WBI.JCAAdapter.Polling.STARTED"
    severity="10" version="1.0.1"><contextDataElements
    name="ECSCurrentID"
    type="string"><contextValue>com.ibm.websphere.CorrelationSp
    here.implicit</contextValue></contextDataElements><contextD
    ataElements name="ECSParentID"
    type="string"></contextDataElements><contextDataElements
    name="WBISESSION_ID"
    type="string"><contextValue>UNKNOWN</contextValue></context
    DataElements><extendedDataElements name="EventNature"
    type="string"><values>STARTED</values></extendedDataElement
    s><extendedDataElements name="PayloadType"
    type="string"><values>empty</values></extendedDataElements>
    <extendedDataElements name="PollQuantity"
    type="int"><values>10</values></extendedDataElements><exten
    dedDataElements name="PollFrequency"
    type="int"><values>2000</values></extendedDataElements><sou
    rceComponentId component="WPS#[SCA 1.0.1.9
    cf091048.02]Platform 7.0.0.13 [ND 7.0.0.13 cf131039.07][WBI
    7.0.0.3 of1034.05][WXS 7.1.0.0 a1025.57350][XML 1.0.0.7
    cf071033.05]" componentIdType="Component Kind QName"
    executionEnvironment="Windows XP[x86]#5.1 build 2600
    Service Pack 3" instanceId="IBM-02BE93E63E4Node01Cell\IBM-
    02BE93E63E4Node01\server1" location="192.168.1.145"
    locationType="Hostname" processId="9976"
    subComponent="{http://www.ibm.com/j2ca/ResourceAdapter}wps.
    wbiserver.Polling_S_FFA" threadId="SoapConnectorThreadPool
    : 1"
    componentType="{http://www.ibm.com/xmlns/prod/websphere/scd
    l/eis/6.0.0}JCAAdapter"/><situation
    categoryName="ReportSituation"><situationType
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:type="ReportSituation" reasoningScope="EXTERNAL"
    reportCategory="STATUS"/></situation></CommonBaseEvent>
    [5/25/12 23:44:10:062 EDT] 0000005d ActivationSpe I   
    J2CA0523I: The Message Endpoint for ActivationSpec
    jndi/FFATest3AS
    (com.ibm.j2ca.flatfile.FlatFileActivationSpecWithXid) and
    MDB Application
    FFAdapterTest3App#FFAdapterTest3FFAdapterExport#FFAdapterTe
    st3 is activated.

    如果放入一个具有扩展名 “.test3” 的文件,该文件现在将被处理。

  11. 输入 AdminControl.invoke(objectName, 'getStatus')。这会返回 “1”,这意味着消息端点现在再次被激活。

现在可以将命令 “AdminControl.invoke(objectName, 'getStatus')” 合并到一个脚本中,以对 J2C 消息端点(进而对相应轮询线程上的)的状态执行定期检查。如果状态不为 “1”(活动),SystemOut.log 文件中的一条错误消息将表明消息端点未激活的原因。


结束语

本教程提供了各种方式来监视 WebSphere Process Server 环境中的一个 WebSphere 适配器的轮询线程。您了解到:

  • 当使用 PMI 度量时,可监视适配器轮询线程。此外,轮询响应时间等其他信息也可用。
  • 当无法使用 PMI 度量时,通过 CBE 和跟踪的监视未提供足够的信息来表明哪个轮询线程是活动的。这对性能具有负面影响,只应在生产环境中具有战术需要时使用。
  • J2C 消息端点监视是一种强大的技术,可监视所有适配器场景中的适配器轮询线程和侦听器线程(SAP 适配器情形),其中适配器用于使用来自 EIS 系统的数据。

下载

描述名字大小
PI 样例PI_Final.zip1,666KB

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere
ArticleID=833812
ArticleTitle=监视 WebSphere Process Server 环境中的 WebSphere J2C 适配器轮询线程
publish-date=09072012