我们经常会用到对逻辑流和页面流配置Handler,它们对应同一个配置文件:handler-engine.xml。这里以逻辑流为例,具体介绍。
对逻辑流,可以在执行某一个图元之前、之后、发生异常、无论正确执行还是发生异常的情况下都会执行,这四种情况下进行拦截;也可以对整逻辑流执行之前、执行之后、发生异常、无论正确执行还是发生异常的情况下都会执行,这四种情况下进行拦截。可以在Handler实现中插入所期望执行的具体代码,但是所有Handler的实现类必须实现com.eos.engine.core.IHandler接口。
在第四章级联新增的案例中,对逻辑流配置andler,当逻辑流发生异常时记录日志。开发步骤如下:
在资源管理器视图中,打开“EOSTrippingcom.primeton.relationmgr运算Java”,右键选中com.primeton. relationmgr,在弹出的菜单中选择“创建类”,弹出“新建Java类”的对话框,输入类的名称,选择com.eos.engine.core.IHandler接口,如图5-15所示。
点击【完成】,构件编辑器视图中自动打开新建的类。该类实现了IHandler接口的四个方法,如表5-1所示。分别对应上面的四种情况,用于在逻辑流执行过程中不同的时机进行拦截。
这里我们记录异常日志,在doException方法中,记录当前出错图元所在的逻辑流的名称、当前图元的ID、名字、类型信息、还有当前异常的错误信息。整个代码如下: