内容发布更新时间 : 2024/12/23 4:24:12星期一 下面是文章的全部内容请认真阅读。
public class CustomAccessStrategy extends GeneralAccessStrategy { protected List
配置 在snaker.xml中增加下面的配置
snaker的拦截器支持所有的节点前后拦截,并且支持全局、局部拦截器。拦截器统一实现SnakerInterceptor接口 org.snaker.engine.SnakerInterceptor 全局拦截器 局部拦截器 全局拦截器 全局拦截器会拦截所有新产生的任务对象。自定义的全局拦截器需要配置到snaker.xml中。如默认支持的日志拦截器 局部拦截器支持节点执行的前置、后置拦截。需要配置到task节点模型的preInterceptors[前置拦截]、postInterceptors[后置拦截]属性 委托代理 委托代理主要用于流程平台中,主办人由于出差、休假等原因无法处理任务时,通过委托其它人员去处理此人的某类业务流程的待办任务。 表结构 委托代理配置 管理委托代理 表结构 委托代理表主要保存委托代理的记录信息 wf_surrogate 委托代理配置 需要在snker.xml中配置委托代理的拦截器 委托代理的数据管理由管理服务类完成 org.snaker.engine.IManagerService 管理服务接口针对委托代理提供以下方法: void saveOrUpdate(Surrogate surrogate) void deleteSurrogate(String id) Surrogate getSurrogate(String id) List 决策表达式主要用于decision(选择分支)节点,该节点支持三种路由选择方式 decision的expr transition的expr 自定义类 decision的expr decision节点的expr有两种方式来设置 1.表达式中增加判断逻辑,如:${day > 3 ? 't1' : 't2'},此时根据day的值决定走t1、或t2的路由,用于设置范围值的情况 2.表达式仅仅是一个变量,如:${tname},此时,传递tname的值为路由name即可,用于设置具体值的情况(如:同意、不同意) transition的expr 如果decision节点的expr为空,可设置输出路由的expr,必须返回boolean类型 路由1设置expr的值为:${content==1}, 路由2设置expr的值为${content > 1}。 自定义类 自定义类需要实现DecisionHandler接口的decide方法 org.snaker.engine.DecisionHandler 该方法返回字符串即表示输出路由的name Snaker默认支持Juel、SringEL两种表达式引擎,需要在snaker.xml中配置。配置如下: ? Juel表达式引擎常用语法 String expr1 = \Map Spring EL表达式引擎常用语法 String expr1 = \Map 子流程的作用是将一个复杂的业务流程进行细化拆分,提高流程的复用性。