Skip to main content

服务端方法监听器

服务端方法监听器,用于定义监听器,需要结合二开代码才能用。

1. 功能介绍

创建一个 maven 项目,然后创建一个 bundle 包,接着新建一个类实现触发活动集后,监听器需要执行代码的逻辑,类需实现两个方法 getCode()返回监听器编码handleEvent() 对 API 的入参及输出进行相关操作(:一个类对应一个监听器,如需再新建一个监听器,需建一 个新类)。

以下代码是一个简单的例子。

  • 一定要实现 RuleSetEventListener 接口。
  • 重写 handleEventgetCode 方法。
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. 监听器定义

访问目录:配置中心 → 业务系统初始化配置 → 集成服务 → 服务端方法监听器 → 监听器定义

img

构件方法监听使用
  • 新增类,作为监听器,参考WxChangeAppCodeBeforeRuleExecuteListener,代码里注册为 ipojo,实现 RuleSetEventListener 接口,实现重载方法 getCode ,返回唯一的业务编码,后续使用,实现重载方法 handleEvent ,实现自己的业务逻辑。
  • 界面新增监听器定义,bizCode 需要填入上述返回的唯一的业务编码。
  • 状态如果设为开启,则该监听器会随着系统启动而加入到监听中心来生效。

(1)监听器定义

img

(2)设置监听构件方法

img

3. 监听中心

访问目录:配置中心 → 业务系统初始化配置 → 集成服务 → 服务端方法监听器 → 监听中心

(1)选择创建的监听器定义新增,这样触发监听的活动集时,才能执行代码里的逻辑。

:必须监听器代码部署到服务以后,监听器定义状态为启用,才能选择成功。

img

(2)执行活动集后,会在服务端方法事件日志界面看到监听结果,会记录监听器代码对活动集输入输出所执行的逻辑。

img

双击数据信息,可以打开查看服务端方法事件日志详细信息。

img