企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 通讯接出扩展 ## **扩展配置** ![](https://img.kancloud.cn/18/72/1872c1c73808aa0f15bc27f6b5fd8781_1555x422.png) ## **插件说明** 1. 插件以jar包文件或类文件的方式拷贝到前置安装目录的plugin文件夹下;若插件是jar包需要重启前置生效,若插件是class文件可动态生效。 2. 若插件类实现了initEnv(Map cfg)函数,则在调用插件函数前本函数会自动被调用(入参cfg:流程对应接入配置信息); 插件函数形式为:xxx(Object trcd\_Pkg,Object para); (trcd\_Pkg:交易码或报文,para:输入输出字段),返回Object对象可为Map或byte数组。若插件中需要输出日志,则在插件类中需定义日志成员变量,如下: 3. org.slf4j.Logger public static Logger log; 4. 该类变量需固定命名为log,由前置系统在调用插件函数前对其进行赋值。 5. 插件函数配置若以“::”开头,则表示插件函数为静态函数,对应地若实现了初始化函数initEnv,则该函数也必须是静态函数。 6. 在前置流程中“发送报文”到第三方节点,若第三方节点配置有插件处理则只有externPackAndSend或externSend插件函数可被调用;其它插件函数需要在流程中根据需要单独调用;若发送第三方报文有接口或运行平台发起,则所有插件函数都可生效 7. 开发的插件需以jar包文件的形式拷贝到前置安装目录的plugin目录下。 8. 插件类以及函数应遵循如下形式: - 插件初始化函数:void initEnv(Map cfg) 。 输入:cfg,对应接出的配置信息, cfgPath为接出配置文件目录。 说明:若插件类中实现了该函数,则该函数在插件函数调用被前调用,若插件函数为静态方法(接出配置中函数名"::"开头)则本函数必须为静态方法。 - 插件函数:Object xxx(Object trcdPkg,Object para)。 输入:trcdPkg,交易码或报文,para见接出插件函数说明。 输入输出:para,通常为MAP,请求或应答的报文或报文字段。 返回:应答报文或字段键值对集合MAP。 - 报文与通讯处理插件函数: externPackAndSend 该函数需要实现组包、发送请求、接收应答、解包应答功能;返回应答字段键值对。 - 组包插件函数:externPack 该函数实现组包,返回报文。 - 解包插件函数:externUnpack 该函数实现解包,返回应答字段键值对。 - 通讯插件函数:externSend 该函数发送请求接收应答,返回应答报文。 - 组包前插件处理:beforePack 无返回,para为请求字段键值对。 - 发送请求前插件处理:beforeSend 返回报文。 - 解包前插件处理:beforeUnpack 返回报文。 - 解包后插件处理:beforeReturn 无返回;para为应答字段键值对