服务端方法监听器
服务端方法监听器,用于定义监听器,需要结合二开代码才能用。
1. 功能介绍
创建一个 maven
项目,然后创建一个 bundle
包,接着新建一个类实现触发活动集后,监听器需要执行代码的逻辑,类需实现两个方法 getCode()返回监听器编码
、handleEvent()
对 API 的入参及输出进行相关操作(注:一个类对应一个监听器,如需再新建一个监听器,需建一 个新类)。
以下代码是一个简单的例子。
- 一定要实现
RuleSetEventListener
接口。 - 重写
handleEvent
和getCode
方法。
public class RuleExecuteListenerTest implements RuleSetEventListener {
@Override
public void handleEvent(RuleSetEventContext eventContext) {
// 获取监听 API 输入参数
String originalParamStr = eventContext.getEventSourceRuleSetInputParams();
// 反编译输入参数
Map<String, Object> originalParams =
RuleSetParamSerializeUtil.unserializeInputParams(originalParamStr);
// 监听 API 对象
RuleSet ruleSet = eventContext.getEventSourceRuleSet();
// 监听 API 执行结果(注:监听后事件才有结果)
String result = eventContext.getEventSourceRuleSetResult();
RuleSetResult ruleSetResult = RuleSetResultSerializeUtil.unserialize(result);
// TODO 编写自己的逻辑
}
@Override
public String getCode() {
// 编码与页面注册一致
return "RuleExecuteListenerTest";
}
}
2. 监听器定义
访问目录:配置中心 → 业务系统初始化配置 → 集成服务 → 服务端方法监听器 → 监听器定义
构件方法监听使用
- 新增类,作为监听器,参考
WxChangeAppCodeBeforeRuleExecuteListener
,代码里注册为ipojo
,实现RuleSetEventListener
接口,实现重载方法getCode
,返回唯一的业务编码,后续使用,实现重载方法handleEvent
,实现自己的业务逻辑。 - 界面新增监听器定义,
bizCode
需要填入上述返回的唯一的业务编码。 - 状态如果设为开启,则该监听器会随着系统启动而加入到监听中心来生效。
(1)监听器定义
(2)设置监听构件方法
3. 监听中心
访问目录:配置中心 → 业务系统初始化配置 → 集成服务 → 服务端方法监听器 → 监听中心
(1)选择创建的监听器定义新增,这样触发监听的活动集时,才能执行代码里的逻辑。
注:必须监听器代码部署到服务以后,监听器定义状态为启用,才能选择成功。
(2)执行活动集后,会在服务端方法事件日志界面看到监听结果,会记录监听器代码对活动集输入输出所执行的逻辑。
双击数据信息,可以打开查看服务端方法事件日志详细信息。