工作流程控制台提供數種管理工作流程例項的工具,以確保這些例項可如預期般執行。
此 JMX控制台 提供其他工作流維護操作。
管理工作流程時可使用多種主控台。 使用 全局導航 開啟 工具 窗格,然後選擇 工作流程:
使用導覽選取 工具,然後 工作流程.
選擇 例項 顯示當前正在進行的工作流實例清單。
使用導覽選取 工具,然後 工作流程.
選擇 例項 顯示當前正在進行的工作流實例清單。 在頂端邊欄的左角,選取 篩選器. 或者,您可以使用鍵擊alt+1。 將顯示以下對話框:
在「篩選」對話方塊中,選取工作流程搜尋條件。 您可以根據以下輸入進行搜尋:
使用導覽選取 工具,然後 工作流程.
選擇 例項 顯示當前正在進行的工作流實例清單。
選取特定項目,然後使用 終止, 暫停,或 繼續,酌情;確認,和/或更多詳細資訊是必要的:
使用導覽選取 工具,然後 工作流程.
選擇 封存 顯示成功完成的工作流實例清單。
中止狀態被視為成功終止,因為它是由於用戶操作而發生的;例如:
選取特定項目,然後 開啟歷史記錄 若要查看更多詳細資訊,請:
工作流程失敗時,AEM會提供 失敗 控制台,讓您在處理原始原因後調查並採取適當動作:
失敗詳細資訊
開啟視窗以顯示
失敗訊息, 步驟,和 失敗堆棧.
開啟歷史記錄
顯示工作流歷史記錄的詳細資訊。
重試步驟 再次執行指令碼步驟元件實例。 修正了原始錯誤的原因後,請使用「重試步驟」命令。 例如,在您修正了「處理步驟」所執行指令碼中的錯誤後,請重試該步驟。
終止 如果錯誤導致工作流不可調解的情況,則終止工作流。 例如,工作流可以依賴環境條件,例如對工作流實例不再有效的儲存庫中的資訊。
終止並重試 類似 終止 除了使用原始裝載、標題和說明來啟動新的工作流程例項。
要調查失敗,然後恢復或之後終止工作流,請執行以下步驟:
使用導覽選取 工具,然後 工作流程.
選擇 失敗 顯示未成功完成的工作流實例清單。
選擇特定項目,然後選擇相應的操作:
將工作流實例數減到最少會提高工作流引擎的效能,因此您可以定期從儲存庫中清除已完成或正在運行的工作流實例。
設定 AdobeGranite工作流程清除設定 根據工作流實例的年齡和狀態來清除實例。 您也可以清除所有模型或特定模型的工作流實例。
您也可以建立服務的多個設定,以清除滿足不同標準的工作流實例。 例如,建立設定,在特定工作流程模型的執行個體執行時間長於預期時間時清除這些例項。 建立另一個設定,該設定在特定天數後清除所有已完成的工作流程,以將存放庫的大小降至最低。
若要設定服務,您可以使用 Web主控台 或 將OSGi設定新增至存放庫. 下表說明了任何一種方法所需的屬性。
若要將設定新增至存放庫,服務PID為:
com.adobe.granite.workflow.purge.Scheduler
因為服務是工廠服務,所以 sling:OsgiConfig
節點需要標識符尾碼,例如:
com.adobe.granite.workflow.purge.Scheduler-myidentifier
屬性名稱(Web主控台) | OSGi屬性名稱 | 說明 |
---|---|---|
工作名稱 | scheduledpurge.name | 排程清除的描述性名稱。 |
工作流程狀態 | scheduledpurge.workflowStatus | 要清除的工作流實例的狀態。 下列值有效:
|
要清除的模型 | scheduledpurge.modelIds | 要清除的工作流模型的ID。 ID是指向模型節點的路徑,例如: 若要指定多個模型,請按一下Web控制台中的+按鈕。 請勿指定任何值來清除所有工作流模型的實例。 |
工作流程年齡 | scheduledpurge.daysold | 要清除的工作流實例的年齡(以天為單位)。 |
您可以設定收件匣的最大大小,方法是設定 AdobeGranite工作流程服務,使用 Web主控台 或 將OSGi設定新增至存放庫. 下表說明您為任一方法所設定的屬性。
若要將設定新增至存放庫,服務PID為:
com.adobe.granite.workflow.core.WorkflowSessionFactory
。
屬性名稱(Web主控台) | OSGi屬性名稱 |
---|---|
最大收件箱查詢大小 | granite.workflow.inboxQuerySize |
由工作流程處理的資料儲存在提供的儲存(JCR)Adobe中。 這些資料在本質上是敏感的。 您可能希望將所有用戶定義的元資料/資料保存在自己的托管儲存中,而不是Adobe提供的儲存中。 以下章節說明如何為外部儲存設定這些變數。
在工作流模型的級別,提供標誌以指示模型(及其運行時實例)具有元資料的外部儲存。 針對標示為外部儲存之模型的工作流程例項,工作流程變數不會保留在JCR中。
屬性 userMetadataPersistenceEnabled 將儲存在 jcr:content節點 工作流模型。 此標幟會以 cq:userMetaDataCustomPersistenceEnabled.
下圖顯示如何在工作流程上設定標幟。
若要從外部儲存變數,您必須實作工作流程公開的API。
UserMetaDataPersistenceContext
下列範例會示範如何使用API。
@ProviderType
public interface UserMetaDataPersistenceContext {
/**
* Gets the workflow for persistence
* @return workflow
*/
Workflow getWorkflow();
/**
* Gets the workflow id for persistence
* @return workflowId
*/
String getWorkflowId();
/**
* Gets the user metadata persistence id
* @return userDataId
*/
String getUserDataId();
}
UserMetaDataPersistenceProvider
/**
* This provider can be implemented to store the user defined workflow-data metadata in a custom storage location
*/
@ConsumerType
public interface UserMetaDataPersistenceProvider {
/**
* Retrieves the metadata using a unique identifier
* @param userMetaDataPersistenceContext
* @param metaDataMap of user defined workflow data metaData
* @throws WorkflowException
*/
void get(UserMetaDataPersistenceContext userMetaDataPersistenceContext, MetaDataMap metaDataMap) throws WorkflowException;
/**
* Stores the given metadata to the custom storage location
* @param userMetaDataPersistenceContext
* @param metaDataMap metadata map
* @return the unique identifier that can be used to retrieve metadata. If null is returned, then workflowId is used.
* @throws WorkflowException
*/
String put(UserMetaDataPersistenceContext userMetaDataPersistenceContext, MetaDataMap metaDataMap) throws WorkflowException;
}