將業務規則任務添加到流程
使用 Camunda Modeler 打開付款檢索流程(Payment Retrieval process),然後單擊批准付款任務(Approve Payment Task)。在扳手(wrench)按鈕菜單中將活動類型更改為業務規則任務(Business Rule Task)。
接下來,通過在屬性面板中更改Implementation
和DMN
來Decision Ref
將業務規則任務鏈接到 DMN 表。approve-payment
為了檢索評估結果並將其自動保存為流程中的流程實例變量,我們還需要在屬性面板中將更改Result Variable
為approved
並使用singleEntry
as 。Map Decision Result
先選DMN
保存更改並使用Deploy
Camunda Modeler 中的按鈕部署更新的流程。
使用 Camunda Modeler 創建 DMN 表
首先,通過單擊File > New File > DMN Diagram創建一個新的Camunda 7 DMN 圖。
現在新創建的圖表中已經添加了一個決策元素。通過單擊將其選中,然後為其指定名稱Approve Payment和 ID approve-payment
(決策 ID 必須與Decision Ref
您的 BPMN 流程中的 ID 匹配)。
接下來,單擊表按鈕創建一個新的 DMN 表。
指定DMN表
首先,指定 DMN 表的輸入表達式。在此示例中,我們將根據商品名稱決定是否批准付款。您的規則還可以使用 FEEL 表達式語言、JUEL 或腳本。如果您願意,可以閱讀有關 DMN 引擎中的表達式的更多信息。
“雙擊”Input以配置輸入列。用作輸入標籤(Input Label):Item
和輸入表達式(Input Expression): item
接下來,設置輸出列。用作輸出列“Approved”的 輸出標籤Approved
和輸出名稱:approved
讓我們通過單擊 DMN 表左側的加號圖標來創建一些規則。我們還應該將輸出列更改為數據類型boolean
:
設置完成後,您的 DMN 表應如下所示:
部署DMN表
要部署決策表,請單擊 Camunda Modeler 中的“Deploy”按鈕,將其命名為“Payment Retrieval Decision”,然後單擊“部署”按鈕。
使用 Cockpit 驗證部署
現在,使用 Cockpit 查看決策表是否已成功部署。轉到http://localhost:8080/camunda/app/cockpit/並登錄。導航至“Decisions”部分。您的決策表“Approve Payment”應列為已部署的決策定義。
使用 Cockpit 和Tasklist 進行檢查
接下來,使用 Tasklist 啟動兩個新的流程實例,並驗證流程實例是否會根據您的輸入進行不同的路由。為此,請轉至http://localhost:8080/camunda/app/tasklist/並登錄。
單擊start a process 按鈕啟動流程實例並選擇Payment
流程。使用通用形式添加變量,如下所示:
新增以下參數(可以自由變換)
參數一:
- Name: amount
- Type: Integer
- Value: 1200
參數二:
- Name: item
- Type: String
- Value: item-xyz
點擊Start。
接下來,再次單擊start a process 按鈕啟動另一個流程實例並選擇該Payment
流程。使用通用形式添加變量,如下所示:
新增以下參數(可以自由變換)
參數一:
- Name: amount
- Type: Integer
- Value: 1200
參數二:
- Name: item
- Type: String
- Value: item-zzz
您將看到,根據輸入,工作人員將向信用卡收費或不收費。您還可以驗證 DMN 表是否已使用 Camunda Cockpit 進行評估。轉到http://localhost:8080/camunda/app/cockpit/。導航至“Decisions”部分,然後單擊“Approve Payment”。通過單擊表中的 ID 檢查評估的不同決策實例。
在 Camunda Cockpit 中執行的單個 DMN 表可能如下所示:
這是我的部落格,歡迎點擊閱覽喔~~會不定期更新文章