工作流实战_23_flowable 任务监听器 事件监听器
項(xiàng)目地址:https://gitee.com/lwj/flowable.git 分支flowable-base
視頻講解地址 https://www.bilibili.com/video/av79328344
監(jiān)聽(tīng)器
任務(wù)監(jiān)聽(tīng)器 針對(duì)userTask節(jié)點(diǎn)
事件監(jiān)聽(tīng)器 針對(duì)任意節(jié)點(diǎn)
由于實(shí)際情況下我們會(huì)在節(jié)點(diǎn)會(huì)動(dòng)態(tài)調(diào)用業(yè)務(wù)系統(tǒng)的接口去改變業(yè)務(wù)單據(jù)的狀態(tài)或者做一些業(yè)務(wù)處理。如果每次都去新建一個(gè)監(jiān)聽(tīng)器這樣勢(shì)必就非常的繁瑣也不好維護(hù),那么我們?cè)撊绾巫霾拍苓_(dá)到動(dòng)態(tài)調(diào)用的效果呢?接下來(lái)小學(xué)生一步步的實(shí)現(xiàn)這個(gè)統(tǒng)一的功能。
一、定義統(tǒng)一的任務(wù)監(jiān)聽(tīng)器
FixedValue restUrl 介紹我們配置的field字段,表示要請(qǐng)求的resturl,這里注意接收字段一定要用FixedValue才能接收到。
二、調(diào)用接口
public void callBack(String pocessInstanceId, String restUrl, String params) {String paramsJson = null;try {Map<String, Object> paramMap = new HashMap<String, Object>();ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(pocessInstanceId).singleResult();paramMap.put("businessKey", processInstance.getBusinessKey());this.setParams(params, paramMap);paramsJson = JsonUtils.toJson(paramMap);//執(zhí)行dubbo方法logger.info("開(kāi)始調(diào)用業(yè)務(wù)系統(tǒng)接口" + restUrl + ",業(yè)務(wù)參數(shù):" + paramsJson);restTemplate.postForObject(restUrl, paramsJson, String.class);} catch (Exception e) {logger.error("調(diào)用業(yè)務(wù)系統(tǒng)的方法失敗", e);}三、配置監(jiān)聽(tīng)
總結(jié)
以上是生活随笔為你收集整理的工作流实战_23_flowable 任务监听器 事件监听器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: WebStorm-2019.2.3 下载
- 下一篇: (需求实战_进阶_05)SSM集成Rab