1. 概述
在流程运行过程中,流程启动时,流程结束时,在产生任务时,或者任务完成时,流程会提供接口,我们可以在接口中扩展自己的实现,平台目前提供了以下几种扩展实现。
- 调用脚本
- 执行SQL
- 调用WEB请求
2. 用户自定义扩展
2.1 接口定义
package com.redxun.bpm.activiti.eventhandler;/*** 事件调用接口。** @author ray*/public interface IEventHandler {/*** 处理器类型。* @return*/EventHanderType getType();/*** 处理事件。* @param message*/void handEvent(BaseEventMessage message);}
2.2 实现案例(脚本执行器)
@Componentpublic class ScriptEventHandler implements IEventHandler {@ResourceProcessScriptEngine processScriptEngine;@Overridepublic EventHanderType getType() {return new EventHanderType("script","脚本");}@Overridepublic void handEvent(BaseEventMessage message) {EventConfig eventSetting= message.getEventConfig();JSONObject config=eventSetting.getConfig();if(BeanUtil.isEmpty(config)) {return;}String script = config.getString("script");if(StringUtils.isEmpty(script)){return;}Map<String,Object> vars=message.getVars();//获取上下文变量数据。Map<String,Object> contextData= ActivitiUtil.getConextData(vars);//替换常量script= SysUtil.replaceConstant(script);processScriptEngine.exeScript(script,contextData);}}
脚本执行器的接口实现。
2.3 前端定制
前端界面。
通过定义扩展实现,在前端接口类型的下拉框就会显示我们定义的扩展,点击配置可以对扩展进行参数定义。
前端代码位置。

/src/components/bpmn/customModle/bpmCallConfig.vue
根据接口类型会找到对应的组件对事件处理器进行配置。
文档更新时间: 2022-01-20 14:53 作者:zyg