activiti5.16businessKey如何為null處理。

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

尼木ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書(shū)合作)期待與您的合作!

activiti版本 5.16

產(chǎn)生原因:創(chuàng)建子流程時(shí),businesskey 不傳遞。

解決如下:

1、創(chuàng)建監(jiān)聽(tīng)類(lèi):

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("獲取當(dāng)前任務(wù)的流程實(shí)例的businessKey:{}",key);
                    if(StringUtils.isEmpty(key)){
                        ExecutionEntity superExecEntity = exEntity.getSuperExecution();
                        key=superExecEntity.getBusinessKey();
                        if(StringUtils.isEmpty(key)){
                            key=superExecEntity.getProcessInstance().getBusinessKey();
                        }
                        log.info("獲取當(dāng)前任務(wù) 上一個(gè)流程實(shí)例的businessKey:{}",key);
                        log.info("設(shè)置當(dāng)前流程實(shí)例的businessKey:{}",key);
                        exEntity.setBusinessKey(key);
                        //讓businessKey生效 此處非常關(guān)鍵。
                        exEntity.updateProcessBusinessKey(key);
                    }
                    break;
                }
            default:
                break;
        }
    }

    @Override
    public boolean isFailOnException() {
        // TODO Auto-generated method stub
        return false;
    }
}

2、配置監(jiān)聽(tīng):

<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
		<property name="dataSource"          ref="dataSourceTech" />
		<property name="jobExecutorActivate" value="true" />
	<!-- 其間的配置見(jiàn)官方demo -->

		<property name="eventListeners">
			<list>
<!--				businessKey空值處理監(jiān)聽(tīng) -->
				<bean class="com.cdel.activiti.listener.BusinessKeyInjectionActivitiEventListener"/>
			</list>
		</property>
		
	</bean>

上述內(nèi)容就是activiti 5.16 businessKey如何為null處理。,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前名稱(chēng):activiti5.16businessKey如何為null處理。
網(wǎng)頁(yè)鏈接:http://muchs.cn/article30/ihddpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站排名、品牌網(wǎng)站制作網(wǎng)站策劃、關(guān)鍵詞優(yōu)化、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名