欢迎使用普元产品知识库,本知识库包含普元应用开发平台EOSPlatform,流程平台BPS,企业服务总线ESB,微服务平台Microservice,运维管理平台Devops,数据集成平台DI
欢迎使用普元文档库
EOS为逻辑流提供了Handler拦截机制,可以在执行逻辑流的某个图元之前、之后、发生异常、无论正确执行还是发生异常的情况下都会执行的finally四种情况下进行拦截;
也可以对整个逻辑流执行之前、执行之后、发生异常、无论正确执行还是发生异常的情况下都会执行的finally四种情况下进行拦截;可以在Handler实现中插入用户期望执行的具体代码。
目标:在逻辑流执行之后,进行拦截,执行拦截器里的代码
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帮助关于逻辑流拦截器的说明