日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

flowable设置流程发起人

發布時間:2025/3/21 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 flowable设置流程发起人 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先來看一段API調用:

?

List hpis = historyService.createHistoricProcessInstanceQuery().startedBy(userCode).list();

查詢結果為空,這是為什么?

?

?

1.原因說明

當通過runtimeService接口啟動(startProcessInstance[Byxxx])流程的時候會設置一個變量,代碼片段(ExecutionEntityManagerImpl.java#createProcessInstanceExecution):

?

String authenticatedUserId = Authentication.getAuthenticatedUserId();processInstanceExecution.setStartActivityId(startActivityId);processInstanceExecution.setStartTime(CommandContextUtil.getProcessEngineConfiguration().getClock().getCurrentTime());processInstanceExecution.setStartUserId(authenticatedUserId);// Store in databaseinsert(processInstanceExecution, false);if (initiatorVariableName != null) {processInstanceExecution.setVariable(initiatorVariableName, authenticatedUserId);}

?

從上面的代碼片段中可以看出在啟動流程的時候引擎會先從Authentication讀取已認證用戶信息authenticatedUserId?,并將此id

?

設為當前流程實例的startUserId,并作為流程變量和initiatorVariableName(在流程圖里自定義)綁定;現在我們只要能設置認證

用戶的ID就可以了。

?

2.解決問題

查看API發現Authentication有一個方法:setAuthenticatedUserId()。

解決辦法很簡單只要在啟動流程之前調用API即可:Authentication.setAuthenticatedUserId(userId);

當流程啟動之后可以到表ACT_HI_PROCINST中查看字段START_USER_ID_的值來驗證是否生效。

?

?

3.結束

問題很簡單,但是官網的手冊沒有提到,希望讓遇到問題的人少走彎路。

總結

以上是生活随笔為你收集整理的flowable设置流程发起人的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。