电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

手把手教你使用业务事件中心执行插件

来源:金蝶云社区作者:金蝶2024-09-234

手把手教你使用业务事件中心执行插件


当业务事件中心中预制的标准服务,如发送消息、执行操作等不能满足客户的实际业务场景时,我们应该怎么办呢?你想了解的,小编都将一一解答。





1 应用场景


如上所述,当事件中心预制的标准服务不能满足现有的业务场景时,我们可以通过扩展服务或者编写插件的方式来自定义自己的业务逻辑。


其中,编写一个处理相关业务逻辑的插件对于开发人员来讲是比较友好且高效的方式。


本期,小编就带大家一起了解业务事件中心插件的使用方式。


2 解决方案


业务事件中心提供了标准服务:执行插件,可以对自定义的插件进行微服务调用,执行相应的业务逻辑,然后通过事件驱动的方式,执行对应的插件。


3 价值体现


业务事件中心支持自定义插件,为开发人员支持特殊业务场景提供了一种途径,插件中的业务逻辑可自行定义。同时,插件支持微服务调用,使得插件可以部署在任何工程下,避免因反射调用而出现找不到插件的情况。


4 功能详情


下面小编就为你介绍如何编写业务事件中心插件。


首先,插件需要实现IEventServicePlugin接口并重写handleEvent方法。因为目前事件分为苍穹事件和自定义事件,所以接口传递的参数是两种类型事件的父类型KDBizEvent


当可以明确触发插件的事件类型时,我们可以直接进行类型转换。


如果需要做一个同时支持苍穹事件和自定义事件的插件,只需对事件进行判断即可。具体代码如下所示:


public Object handleEvent(KDBizEvent evt) { 
    if (evt instanceof EntityEvent) {//苍穹事件 
        EntityEvent entityEvent = (EntityEvent) evt;//类型转换 
        String businesskey = entityEvent.getBusinesskeys().get(0); 
        String entityNumber = entityEvent.getEntityNumber(); 
        DynamicObject obj = BusinessDataServiceHelper.loadSingle(businesskey, entityNumber); 
        Long evtID = evt.getEventId(); 
        String source = evt.getSource();//传递的事件参数 
    } else {//自定义事件 
        JsonEvent jsonEvent = (JsonEvent) evt;//类型转换 
        String source =

手把手教你使用业务事件中心执行插件

当业务事件中心中预制的标准服务,如发送消息、执行操作等不能满足客户的实际业务场景时,我们应该怎么办呢?你想了解的,小编都将一一解答...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信