Show Menu
主題×

Work Manager和調節

AEM表單(及舊版)使用JMS佇列以非同步方式執行作業。 在AEM表單中,JMS佇列已由Work Manager取代。 本文檔提供了有關Work Manager的背景資訊,並提供了有關配置Work Manager調節選項的說明。

關於長壽命(非同步)操作

在AEM表單中,由服務執行的作業可以是短期(同步)或長期(非同步)。 短時操作在調用它們的同一線程上同步完成。 這些操作在繼續之前等待響應。
長期運營可能跨系統,甚至延伸到組織之外,例如客戶必須填寫並提交貸款申請表,作為整合多項自動化和人力工作的大型解決方案的一部分。 在等待答復的同時,這些行動必須繼續。 長期業務以非同步方式執行其基礎工作,允許在等待完成時從事其他資源。 與短期操作不同,一旦調用長期操作,Oracle Work Manager不會認為該操作已完成。 必須出現外部觸發器,例如請求對同一服務執行另一操作的系統或提交表單的用戶,才能完成該操作。

關於Work Manager

AEM表單(及舊版)使用JMS佇列以非同步方式執行作業。 AEM表單使用Work Manager透過受管理的執行緒來排程及執行非同步作業。
非同步操作的處理方式如下:
  1. Work Manager接收要執行的工作項目。
  2. Work Manager將工作項儲存在資料庫表中,並為工作項分配唯一標識符。 資料庫記錄包含執行工作項目所需的所有資訊。
  3. 當線程空閒時,Work Manager線程將拉入工作項。 在提取工作項目之前,線程可以檢查是否啟動了所需的服務、是否有足夠的堆大小來提取下一個工作項目,以及是否有足夠的CPU週期來處理工作項目。 Oracle Work Manager還會在計畫執行時評估工作項目的屬性(如其優先順序)。
AEM Forms管理員可以使用Health Monitor來檢查Work Manager統計資料,例如佇列中的工作項目數及其狀態。 您也可以使用Health Monitor暫停、繼續、重試或刪除工作項目。 (請參 閱查看與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
指定在Oracle Work Manager調節傳入作業之前,可使用的記憶體的最大百分比。
此選項的預設值為 95 。 此值對於大多數系統都適用。 只有在您的系統需要達到其最大容量時才需要增加容量。 但請注意,當您增加此值時,「記憶體不足」問題的風險也會隨之增加。
如果您在叢集環境中執行AEM表單,您可能想要在叢集的不同節點上,以不同的方式設定記憶體控制限制設定。 例如,您可以對節點A和B設定較低的上限,這些節點是在負載平衡器中設定,以用於互動式工作。 而且,節點C和D上可以設定較高的高限制,這些限制不被負載平衡器使用,但保留用於非同步工作。
 adobe.workmanager.memory-control.low-limit
指定在Oracle Work Manager停止調節傳入作業之前,可使用的記憶體的最大百分比。
此選項的預設值為 20 。 此值對於大多數系統都適用。
Dadobe.workmanager.allocate.max-batch-size
指定Work Manager的最大批處理大小。 預設批大小為10。
如果即使任務完成後,工作管理器中的進程狀態也未更新,則將批大小設定為1。
將Java選項添加到JBoss
  1. 停止JBoss應用程式伺服器。
  2. 在編輯 # appserver root -Dproperty=value /bin/run.bat(Windows)或run.sh(Linux或UNIX),並視需要以格式新增任何Java選項。
  3. 重新啟動伺服器。
將Java選項新增至WebLogic
  1. 在Web瀏覽器中輸入,以啟動WebLogic https://[host name]:[port]/console 管理控制台。
  2. 鍵入您為WebLogic Server域建立的用戶名和密碼,然後按一下「更改中心」下的「日誌」,按一下「鎖定和編輯」。
  3. 在「域結構」下,按一下「環境」>「伺服器」,然後在右窗格中按一下受控伺服器名稱。
  4. 在下一個畫面中,按一下「設定」標籤>「伺服器開始」標籤。
  5. 在「參數」框中,將所需參數附加到當前內容的末尾。 例如,要禁用Health Monitor,請添加:
    -Dadobe.healthmonitor.enabled=false 禁用Health Monitor。
  6. 按一下「儲存」,然後按一下「啟用變更」。
  7. 重新啟動WebLogic受控伺服器。
將Java選項新增至WebSphere
  1. 在WebSphere管理控制台導覽樹中,按一下「伺服器>伺服器類型> WebSphere應用程式伺服器」。
  2. 在右窗格中,按一下伺服器名稱。
  3. 在「伺服器基礎架構」下,按一下「Java和表單工作流」>「進程定義」。
  4. 在「其他屬性」下,按一下「Java虛擬機」。
  5. 在「通用JVM參數」框中,鍵入所需參數。
  6. 按一下「確定」或「應用」,然後按一下「直接保存到主配置」。