欢迎使用普元产品知识库,本知识库包含普元应用开发平台EOSPlatform,流程平台BPS,企业服务总线ESB,微服务平台Microservice,运维管理平台Devops,数据集成平台DI

页面树结构

欢迎使用普元文档库

Skip to end of metadata
Go to start of metadata

【场景介绍】

EOS为逻辑流提供了Handler拦截机制,可以在执行逻辑流的某个图元之前、之后、发生异常、无论正确执行还是发生异常的情况下都会执行的finally四种情况下进行拦截;

也可以对整个逻辑流执行之前、执行之后、发生异常、无论正确执行还是发生异常的情况下都会执行的finally四种情况下进行拦截;可以在Handler实现中插入用户期望执行的具体代码。

 

【demo实现】

目标:在逻辑流执行之后,进行拦截,执行拦截器里的代码

1、需要配置拦截器的逻辑流

2、拦截器的实现代码,在逻辑流执行完成后,控制台打印:doAfter

3、在apps_config\default\config\eos\handler-engine.xml中配置拦截器

 <handle  name="bizhand"  match-pattern="com.primeton.project1.newcomponent.newbiz.biz"  handle-class="demo.NewTest"  type="businesslogic"  nodeType=""  nodeID=""/>

4、在Studio中右键调试逻辑流或登录系统后,在浏览器中访问逻辑流:http://127.0.0.1:8080/default/com.primeton.project1.newcomponent.newbiz.biz.ext,控制台打出:doAfter

说明:拦截器需要实现com.eos.engine.core.IHandler接口,该接口提供了4个不同时机的触发方法:int doBefore(IRuntimeContext context) 、int doAfter(IRuntimeContext context) 、int doException(IRuntimeContext context,Throwable t)、int doFinalize(IRuntimeContext context) 更多内容参见Studio帮助关于逻辑流拦截器的说明

demo.zip