本篇文章為大家展示了activiti 5.16 businessKey如何為null處理。,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

尼木ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為創新互聯的ssl證書銷售渠道,可以享受市場價格4-6折優惠!如果有意向歡迎電話聯系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
activiti版本 5.16
產生原因:創建子流程時,businesskey 不傳遞。
解決如下:
1、創建監聽類:
import org.activiti.engine.delegate.event.ActivitiEntityEvent;
import org.activiti.engine.delegate.event.ActivitiEvent;
import org.activiti.engine.delegate.event.ActivitiEventListener;
import org.activiti.engine.impl.persistence.entity.ExecutionEntity;
import org.activiti.engine.impl.persistence.entity.TaskEntity;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class BusinessKeyInjectionActivitiEventListener implements ActivitiEventListener {
private Logger log = LoggerFactory.getLogger(getClass());
@Override
public void onEvent(ActivitiEvent event) {
switch (event.getType()) {
case TASK_CREATED:
if (event instanceof ActivitiEntityEvent) {
ActivitiEntityEvent activityEntityEvent = (ActivitiEntityEvent) event;
TaskEntity taskEntity = (TaskEntity) activityEntityEvent.getEntity();
ExecutionEntity exEntity = taskEntity.getExecution();
String key = exEntity.getBusinessKey();
log.info("獲取當前任務的流程實例的businessKey:{}",key);
if(StringUtils.isEmpty(key)){
ExecutionEntity superExecEntity = exEntity.getSuperExecution();
key=superExecEntity.getBusinessKey();
if(StringUtils.isEmpty(key)){
key=superExecEntity.getProcessInstance().getBusinessKey();
}
log.info("獲取當前任務 上一個流程實例的businessKey:{}",key);
log.info("設置當前流程實例的businessKey:{}",key);
exEntity.setBusinessKey(key);
//讓businessKey生效 此處非常關鍵。
exEntity.updateProcessBusinessKey(key);
}
break;
}
default:
break;
}
}
@Override
public boolean isFailOnException() {
// TODO Auto-generated method stub
return false;
}
}2、配置監聽:
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"> <property name="dataSource" ref="dataSourceTech" /> <property name="jobExecutorActivate" value="true" /> <!-- 其間的配置見官方demo --> <property name="eventListeners"> <list> <!-- businessKey空值處理監聽 --> <bean class="com.cdel.activiti.listener.BusinessKeyInjectionActivitiEventListener"/> </list> </property> </bean>
上述內容就是activiti 5.16 businessKey如何為null處理。,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創新互聯行業資訊頻道。
當前名稱:activiti5.16businessKey如何為null處理。
網頁鏈接:http://www.yijiale78.com/article30/ihddpo.html
成都網站建設公司_創新互聯,為您提供網站建設、網站排名、品牌網站制作、網站策劃、關鍵詞優化、網站改版
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯