0
用戶確認我在這以在Drools的5.4
- 如果某些驗證失敗,我要問是否繼續用戶或不的要求。
- 如果用戶說是,我不得不
persist the data in DB
和 - 如果用戶說沒有然後
data won't be persisted in DB
。 - 驗證在validate.drl中執行。
一旦執行了這些驗證,我必須問用戶他是否想繼續。處理流程如下:
開始 - > input.drl - > validate.drl - > takeUserConfirmation.drl - > persistData.drl
在上述流程中,我必須添加一些邏輯在takeUserConfirmation.drl
,這樣用戶應該確認他是否想繼續。根據給出的答案,我將在persistData.drl
中限制規則。 只有在用戶確認持久性時纔會執行。我怎樣才能做到這一點?人工任務,即工作項處理程序對於這種情況是否有用?如何暫停流涎流,取用戶確認並再次啓動相同的流程?
Input.drl需要初始化一些事實,例如插入必需的Service類以調用persist方法等。另外,我不能將流分成兩部分,因爲它是我的應用程序的常見流程。因此,如果validate.drl中的任何驗證失敗,takeUserConfirmation.drl將具有一些邏輯,用於詢問用戶是否要繼續,並且在用戶確認之後,流程將再次恢復。 – user2636935
我最初的想法是將一些對象放入Drools全局變量並執行其返回確認結果的阻塞方法。我從來沒有使用工作項目處理程序,但它似乎是你的情況下非常好的選擇(當然,如果你可以修改一些流程)。在這兩種情況下,主要問題似乎都是調用GUI操作,但實際上會有多難,主要取決於您使用的技術。 –