控制流程和服务流的可变大小的警告限制

配置文件中有一些设置用于定义流程和服务流的变量大小的警告限制。 如果达到或超过任何设置的警告限制,那么会在 SystemOut.log 文件中记录一条警告消息。 但是,您可以通过将设置添加到 100Custom.xml 文件来覆盖设置的缺省警告限制。 通过覆盖设置的缺省警告限制,您可以找到流程和活动或者服务流和步骤名称,这将导致大型数组或大型值,或者正在使用大量变量。 这使您能够对服务器上的内存不足异常进行故障诊断。

准备工作

有关解决服务器的不同类型内存问题的详细信息,请参阅 对 JVM 问题进行故障诊断主题。

关于本任务

除了警告消息外,还会将以下数据记录到流程和服务流变量的 SystemOut.log 文件中:

  • 对于流程流:
    • 指定的警告限制
    • 实际变量大小
    • 流程活动
    • 流程实例
  • 对于服务流:
    • 指定的警告限制
    • 实际变量大小
    • 步骤名称
    • 服务名称

以下设置指定流程和服务流的变量大小的警告限制:

twobject-array-length-warning-limit
为复杂 BO 中的变量数组或属性数组指定警告限制。 每当将新元素添加到数组中时,将执行警告限制检查。 缺省警告限制为 10000。 要忽略发现的任何指定限制,可以指定 -1
saved-symbol-table-size
指定执行上下文(包括变量表)的警告限制。 每当完成活动或处理 (或在服务流中完成步骤) 时,都会执行警告限制检查。 但是,仅在保存执行上下文后才执行警告限制检查。 该设置接受以下子元素:
软限制
指定导致发出警告消息的警告限制。 缺省值是 -1,这将导致忽略找到的任何指定限制。
如果想要更改设置的警告限制,您可以通过在 100Custom.xml 文件中添加或更新设置来覆盖警告限制的值。 例如,要将所有设置添加到 100Custom.xml 文件,您可以在 <properties> 元素下添加以下元素,并根据需要修改该值:

<server>
   <twobject-array-length-warning-limit merge="replace">10000</twobject-array-length-warning-limit>
   <limits>
      <saved-symbol-table-size><soft merge="replace">-1</soft></saved-symbol-table-size>
   </limits>
</server>

有关需要更新的各个 100Custom.xml 文件及其位置的信息,请参阅 100Custom 配置文件的位置主题。

但是,要一致且可靠地更改部署环境中所有 100Custom.xml 文件中的警告限制,建议您使用 updateBPMConfig 命令,如以下过程中所述:

传统:

过程

  1. 停止 Workflow ServerWorkflow Center的服务器。
  2. 以断开连接方式启动脚本编制客户机,如主题 updateBPMConfig 命令中所述。
  3. 运行以下命令以同时更新所有受影响的服务器:
    wsadmin> AdminTask.updateBPMConfig( [ '-create', '/server' ] )
    wsadmin> AdminTask.updateBPMConfig( [ '-create', '/server/twobject-array-length-warning-limit', '-xNodeValue', warning_limit ] )
    
    wsadmin> AdminTask.updateBPMConfig( [ '-create', '/server/limits' ] )
    wsadmin> AdminTask.updateBPMConfig( [ '-create', '/server/limits/saved-symbol-table-size' ] )
    wsadmin> AdminTask.updateBPMConfig( [ '-create', '/server/limits/saved-symbol-table-size/soft', '-xNodeValue', warning_limit ] )
    wsadmin> AdminConfig.save()

    使用警告限制的新值替换 warning_limit 变量。

  4. 重新启动服务器。

结果

传统: 更新 100Custom.xml 文件的建议方法是运行 updateBPMConfig 命令。 但是,如果更新失败,您可以通过执行主题 创建 100Custom.xml 配置文件中的步骤来手动更新文件。