AEM forms (及舊版)使用JMS佇列來非同步執行操作。 在AEM表單中,JMS佇列已由工作管理員取代。 本檔案提供Work Manager的背景資訊,以及設定Work Manager節流選項的指示。
在AEM Forms中,服務執行的作業可能是短期(同步)或長期(非同步)。 短期作業會在從中叫用作業的相同執行緒上同步完成。 這些作業會等待回應,再繼續進行。
長期作業可能跨越系統,甚至延伸至組織以外,例如客戶必須完成並提交貸款申請表,作為整合多個自動化和人為作業的較大解決方案的一部分。 在等待回應的同時,這類作業必須繼續。 長期作業會以非同步方式執行其基礎工作,允許資源在等待完成時進行其他作業。 與短期作業不同,工作管理員在叫用長期作業時,不會認為該作業已完成。 必須發生外部觸發程式才能完成操作,例如系統請求對相同服務執行其他操作,或是使用者提交表單。
AEM forms (及舊版)使用JMS佇列來非同步執行操作。 AEM Forms會使用工作管理員,透過受管理的執行緒排程及執行非同步作業。
非同步操作的處理方式如下:
AEM Forms管理員可以使用「健康情況監視器」來檢查Work Manager統計資料,例如佇列中的工作專案數量及其狀態。 您也可以使用「健全狀態監視」來暫停、繼續、重試或刪除工作專案。 (請參閱 檢視與工作管理員相關的統計資料.)
您可以為工作管理員設定節流,以便只有在有足夠的可用記憶體資源時才會排程工作專案。 您可在應用程式伺服器中設定下列JVM選項,以設定節流。
屬性 |
說明 |
---|---|
adobe.work-manager.queue-refill-interval |
指定Work Manager檢查其佇列中新專案時使用的時間間隔(以毫秒為單位)。 此選項的值是整數。 預設值為 如果非同步叫用的數量很低,您可以增加此值。 例如,您可以將其增加到2000到5000之間(2到5秒)。 如果非同步叫用的數量很高,預設值應該就足夠了,但您可以視需要使用較低的值。 過多地減少這個值(例如,低於50,這會導致輪詢頻率為每秒20次)會對系統造成大量負荷。 |
adobe.workmanager.debug-mode-enabled |
將此選項設為 在偵錯模式中,會記錄有關Work Manager原則違規和Work Manager暫停/恢復動作的訊息。 只有在疑難排解時才會將此選項設定為true。 |
adobe.workmanager.memory-control.enabled |
將此選項設為 |
adobe.workmanager.memory-control.high-limit |
指定在工作管理員限制傳入工作之前,可以使用的最大記憶體百分比。 此選項的預設值為 如果您在叢集環境中執行AEM表單,您可能想要在叢集的不同節點上以不同方式設定記憶體控制限制設定。 例如,節點A和B的上限可能較低,這些節點會在您的負載平衡器中設定以進行互動式工作。 而且,您可以在節點C和D上設定較高的上限,負載平衡器不會使用這些節點,而是將其保留以用於非同步工作。 |
adobe.workmanager.memory-control.low-limit |
指定工作管理員停止節流傳入工作之前,可使用的最大記憶體百分比。 此選項的預設值為 |
Dadobe.workmanager.allocate.max-batch-size |
指定Workmanager的批次大小上限。 預設批次大小為10。 如果即使在任務完成後,Workmanager中的流程狀態也沒有更新,則將批次大小設定為1。 |
將Java選項新增至JBoss
-Dproperty=value
.將Java選項新增至WebLogic
輸入「 」以啟動WebLogic管理主控台 https://[host name]:[port]/console
在網頁瀏覽器中。
輸入您為WebLogic Server網域建立的使用者名稱和密碼,然後按一下「變更中心」下的「記錄」,再按一下「鎖定與編輯」。
在「網域結構」下,按一下「環境>伺服器」,然後在右窗格中按一下Managed伺服器名稱。
在下一個畫面中,按一下「設定」標籤>「伺服器啟動」標籤。
在「引數」方塊中,將所需的引數附加至目前內容的結尾。 例如,若要停用「健康情況監視」,請新增:
-Dadobe.healthmonitor.enabled=false
停用健康情況監視。
按一下儲存,然後按一下啟用變更。
重新啟動WebLogic管理的伺服器。
將Java選項新增至WebSphere