内容发布更新时间 : 2025/11/4 15:24:40星期一 下面是文章的全部内容请认真阅读。
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 子流程的作用是将一个复杂的业务流程进行细化拆分,提高流程的复用性。