工作流程和活動類型註冊 - AWS Flow Framework 對於爪哇

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

工作流程和活動類型註冊

需要先註冊活動和工作流程類型,才能加以使用。框架會在您新增至工作者的實作中自動註冊工作流程和活動。框架會尋找可實作工作流程和活動的類型,然後向 Amazon SWF 註冊。框架預設會使用界面定義來推斷工作流程和活動類型的註冊選項。所有工作流程界面必須具有 @WorkflowRegistrationOptions 註釋或 @SkipRegistration 註釋。工作流程工作者會註冊用來設定它的所有工作流程類型,而這些工作流程類型具有 @WorkflowRegistrationOptions 註釋。同樣地,每個活動方法都需要標註 @ActivityRegistrationOptions 註釋或 @SkipRegistration 註釋,或者其中一個註釋必須存在於 @Activities 界面上。活動工作者會註冊用來設定它的所有活動類型,而這些活動類型已套用 @ActivityRegistrationOptions 註釋。當您啟動其中一個工作者時,會自動執行註冊。具有@SkipRegistration註釋的工作流程和活動類型未註冊。@ActivityRegistrationOptions@SkipRegistration註釋已覆寫語意,而最明確的一個會套用到活動類型。

請注意,Amazon SWF 不允許您在註冊類型之後重新註冊或修改類型。框架將嘗試註冊所有類型,但不會重新註冊已經註冊的類型,且不會報告錯誤。

如果您需要修改已註冊的設定,則必須註冊類型的新版本。啟動新執行時,或呼叫使用已產生之用戶端的活動時,您也可以覆寫已註冊的設定。

註冊需要類型名稱以及其他註冊選項。預設實作會判斷這些項目,如下所示:

工作流程類型名稱和版本

框架會從工作流程界面判斷工作流程類型的名稱。預設的工作流程類型名稱格式為 {prefix}{name}。{prefix} 設定為 @Workflow 界面的名稱,後接 '.',而 {name} 設定為 @Execute 方法的名稱。上述範例中工作流程類型的預設名稱為 MyWorkflow.startMyWF。您可以使用 @Execute 方法的 name 參數來覆寫預設名稱。範例中工作流程類型的預設名稱為 startMyWF。名稱不得為空字串。請注意,當您使用 @Execute 覆寫名稱時,框架不會自動在名稱前面加上前綴。您可以自由使用自己的命名方式。

工作流程版本使用 @Execute 註釋的 version 參數所指定。version 沒有預設值,而且必須明確予以指定;version 是任意形式的字串,您可以自由地使用自己的版本控制方式。

訊號名稱

訊號名稱可以使用 @Signal 註釋的 name 參數予以指定。如果未指定,則會預設為訊號方法的名稱。

活動類型名稱和版本

框架會從活動界面判斷活動類型的名稱。預設的活動類型名稱格式為 {prefix}{name}。{prefix} 設定為 @Activities 界面的名稱,後接 '.',而 {name} 設定為方法名稱。預設為。字首} 可在@Activities註釋中的活動界面。您也可以在活動方法上使用 @Activity 註釋,來指定活動類型名稱。請注意,當您使用 @Activity 覆寫名稱時,框架不會自動在名稱前面加上前綴。您可以自由地使用自己的命名方式。

活動版本使用 @Activities 註釋的 version 參數所指定。此版本用來做為界面中所定義之所有活動的預設值,而且可以使用 @Activity 註釋以根據活動予以覆寫。

預設任務清單

預設任務清單的設定方式是使用 @WorkflowRegistrationOptions@ActivityRegistrationOptions 註釋以及設定 defaultTaskList 參數。預設會設定為 USE_WORKER_TASK_LIST。此特殊值指示框架使用工作者物件上所設定的任務清單,而工作者物件用於註冊活動或工作流程類型。您也可以使用這些註釋,將預設任務清單設定為 NO_DEFAULT_TASK_LIST,以選擇不註冊預設任務清單。這可以用於您需要在執行階段指定任務清單時。如果尚未註冊預設任務清單,則在啟動工作流程時,或在產生之用戶端的個別方法多載上使用 StartWorkflowOptionsActivitySchedulingOptions 參數來呼叫活動方法時,您必須指定任務清單。

其他註冊選項

Amazon SWF API 允許的所有工作流程和活動類型註冊選項都可以透過框架指定。

如需完整的「工作流程」註冊選項清單,請參閱下列項目:

如需完整的「活動」註冊選項清單,請參閱下列項目:

如果您想要完全掌控類型註冊,請參閱「工作者可擴充性」。