Work Manager和限制

AEM表单(及更早版本)使用JMS队列异步执行操作。 在AEM表单中,JMS队列已被Work Manager替换。 此文档提供有关Work Manager的背景信息,并提供有关配置Work Manager限制选项的说明。

关于长寿命(异步)操作

在AEM表单中,由服务执行的操作可以是短时(同步)或长时(异步)。 短时间操作在从中调用它们的同一线程上同步完成。 这些操作在继续之前等待响应。

长期运营可能会跨系统,甚至延伸到组织之外,例如客户必须填写并提交贷款申请表,作为集成多个自动化和人力任务的大型解决方案的一部分。 此类行动必须在等待答复时继续。 长期业务以异步方式完成其基础工作,允许在等待完成时以其他方式参与资源。 与短期操作不同,一旦调用长期操作,Work Manager就不会将其视为长期操作完成。 必须发生外部触发器,如请求对同一服务进行其他操作的系统或提交表单的用户,以完成该操作。

关于Work Manager

AEM表单(及更早版本)使用JMS队列异步执行操作。 AEM forms使用Work Manager通过托管线程计划和执行异步操作。

异步操作以下列方式处理:

  1. Work Manager接收要执行的工作项。
  2. Work Manager将工作项存储在数据库表中,并为该工作项分配唯一标识符。 数据库记录包含执行工作项所需的所有信息。
  3. 当线程释放时,Work Manager线程会引入工作项。 在提取工作项之前,线程可以检查所需服务是否已启动、是否有足够的堆大小来提取下一个工作项,以及是否有足够的CPU周期来处理该工作项。 在计划工作项的执行时,Oracle Work Manager也会评估该工作项的属性(如其优先级)。

AEM表单管理员可以使用运行状况监视器检查工作管理器统计信息,如队列中的工作项数及其状态。 您还可以使用运行状况监视器来暂停、恢复、重试或删除工作项。 (请参阅 与Work Manager相关的视图统计。)

配置Work Manager限制选项

您可以为Work Manager配置限制,以便仅在有足够可用的内存资源时才计划工作项。 通过在应用程序服务器中设置以下JVM选项来配置限制。

属性

描述

 adobe.work-manager.queue-refill-interval

指定Work Manager在检查其队列中的新项目时使用的时间间隔(以毫秒为单位)。

此选项的值是整数。 默认值为毫 1000 秒(1秒)。

如果异步调用量较低,则可以增加此值。 例如,您可以将它增加到2000到5000(2到5秒)之间。

如果异步调用量较高,则默认值应足够,但您可以根据需要使用较低的值。 将此值减少得太多(例如,低于50,导致轮询频率为每秒20次)会造成系统的大量开销。

 adobe.workmanager.debug-mode-enabled

将此选项设 true 置为启用调试模式,或将其设置为false以禁用。

在调试模式下,将记录有关违反Work Manager策略和Work Manager暂停/恢复操作的消息。 仅在故障排除时,将此选项设置为true。

 adobe.workmanager.memory-control.enabled

将此选项设 true 置为根据下面所述的内存控制设置启用限制,或禁 false 用限制。

 adobe.workmanager.memory-control.high-limit

指定在Work Manager限制传入作业之前可以使用的最大内存百分比。

此选项的默认值为 95。 此值对于大多数系统都是合适的。 仅在系统需要达到最大容量时增加它。 但请注意,随着此值的增加,内存不足问题的风险也会增加。

如果在群集环境中运行AEM表单,您可能希望在群集的不同节点上以不同方式设置内存控制限制设置。 例如,您可以对节点A和B设置较低的上限,这两个节点是在负载平衡器中编写的,用于交互工作。 您可以对节点C和D设置更高的上限,这两个节点不由负载平衡器使用,但保留用于异步工作。

 adobe.workmanager.memory-control.low-limit

指定在Work Manager停止限制传入作业之前可以使用的最大内存百分比。

此选项的默认值为 20。 此值对于大多数系统都是合适的。

Dadobe.workmanager.allocate.max-batch-size

指定Work Manager的最大批处理大小。 默认批大小为10。

如果在任务完成后,Work Manager中的进程状态仍未更新,则将批大小设置为1。

向JBoss添加Java选项

  1. 停止JBoss应用程序服务器。
  2. 在编辑 [器中]​打开appserver root(Windows)或run.sh(Linux或UNIX),并根据需要以格式添加任何Java选项 -Dproperty=value
  3. 重新启动服务器。

向WebLogic添加Java选项

  1. 开始WebLogic管理控制台,方法是在 https://[Web浏览器​]:[中]/console 键入主机名端口。

  2. 键入您为WebLogic Server域创建的用户名和密码,然后单击“更改中心”下的“日志”,然后单击“锁定并编辑”。

  3. 在“域结构”下,单击“环境”>“服务器”,然后在右窗格中单击受控服务器名称。

  4. 在下一个屏幕上,单击“配置”选项卡>“服务器开始”选项卡。

  5. 在“参数”框中,将所需的参数追加到当前内容的末尾。 例如,要禁用运行状况监视器,请添加:

    -Dadobe.healthmonitor.enabled=false 禁用运行状况监视器。

  6. 单击保存,然后单击激活更改。

  7. 重新启动WebLogic托管服务器。

将Java选项添加到WebSphere

  1. 在WebSphere管理控制台导航树中,单击“服务器”>“服务器类型”>“WebSphere应用程序服务器”。
  2. 在右窗格中,单击服务器名称。
  3. 在“服务器基础架构”下,单击“Java and forms workflow”>“Process Definition”。
  4. 在“其他属性”下,单击“Java虚拟机”。
  5. 在“通用JVM参数”框中,键入所需的参数。
  6. 单击“确定”或“应用”,然后单击“直接保存”到主控配置。

在此页面上