Show Menu
主题×

Work Manager和调节

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

关于长期(异步)操作

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

关于Work Manager

AEM表单(及更早版本)使用JMS队列异步执行操作。 AEM表单使用Work Manager通过受管线程计划和执行异步操作。
异步操作以下列方式处理:
  1. Work Manager接收要执行的工作项。
  2. Work Manager将工作项存储在数据库表中,并为工作项分配唯一标识符。 数据库记录包含执行工作项所需的所有信息。
  3. 当线程空闲时,Work Manager线程会拉入工作项。 在提取工作项之前,线程可以检查所需服务是否已启动,是否有足够的堆大小来拉入下一个工作项,以及是否有足够的CPU周期来处理工作项。 Oracle Work Manager还会在计划执行工作项时评估其属性(如其优先级)。
AEM表单管理员可以使用运行状况监视程序检查Work Manager统计信息,如队列中的工作项数量及其状态。 您还可以使用运行状况监视器暂停、恢复、重试或删除工作项。 (请参阅 与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
指定Workmanager的最大批量大小。 默认批大小为10。
如果即使在完成任务后,Workmanager中进程的状态也未更新,则将批大小设置为1。
向JBoss添加Java选项
  1. 停止JBoss应用程序服务器。
  2. 在编辑 #/bin/run.bat(Windows)或run.sh(Linux或UNIX),并根据需要以格式添加任何Java选项 -Dproperty=value
  3. 重新启动服务器。
将Java选项添加到WebLogic
  1. 开始WebLogic管理控制台,方法是在Web https://[host name]:[port]/console 浏览器中键入内容。
  2. 键入您为WebLogic服务器域创建的用户名和密码,然后单击“更改中心”下的“日志”,然后单击“锁定并编辑”。
  3. 在“域结构”下,单击“环境”>“服务器”,然后在右侧窗格中单击受控服务器名称。
  4. 在下一个屏幕上,单击“配置”选项卡>“服务器开始”选项卡。
  5. 在“参数”框中,将所需的参数追加到当前内容的末尾。 例如,要禁用健康监视器,请添加:
    -Dadobe.healthmonitor.enabled=false 禁用健康监视器。
  6. 单击保存,然后单击激活更改。
  7. 重新启动WebLogic托管服务器。
将Java选项添加到WebSphere
  1. 在WebSphere管理控制台导航树中,单击“服务器”>“服务器类型”>“WebSphere应用程序服务器”。
  2. 在右窗格中,单击服务器名称。
  3. 在“服务器基础结构”下,单击“Java”和“表单工作流”>“进程定义”。
  4. 在“其他属性”下,单击“Java虚拟机”。
  5. 在“通用JVM参数”框中,键入所需的参数。
  6. 单击“确定”或“应用”,然后单击“直接保存到主配置”。