关键词不能为空

当前您在: 主页 > 英语 >

snaker文档要点

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-12 07:36
tags:

-

2021年2月12日发(作者:trailblazer)


演示部署



?



?



?



?



下载


snaker-web



war




创建数据库



部署应用



访问应用



下载


snaker-web



war




在网盘下载


snaker- web-..*.war


文件



创建数据库



选择一款数据库软件,创 建


snaker


的数据库



注意:只需要创建数据库,不需要手动执行脚本



部署应用




snaker-web-*.*.*.war


文件部署至


Tomcat(


版本


>=6


即可


)


webapps


目录下



访问应用



启动


Tomcat


,访问


(*


号是当前的 版本号


)


http://localhost:8080/snaker-web-*.*.*


测试账号为:



管理员


[admin/123456]


测试账号


[snaker/123456;test/123456]


如果此处出现问题,请检查数据源配置是否正确,具体配置文件为:



WEB-INF/classes/ties


快速入门



快速入门章节主要介绍流程 是如何定义的,以及如何通过常用的


api


操作来启动、执行直 至结束。



?




流程定义



?




如何使 用


Eclipse


的设计器插件定义一个流程

< br>


如何使用


snaker-web


项目中的


web


设计器定义一个流程



?



?





流程发布



?




如何发布定义好的流程



?



?





流程启动



?




如何启动已发布的流程定义



?



?





任务执行



?




如何执行任务



?



流程定义




?



?



?



使用


Eclipse


设计器插件

< p>


使用


web


设计器



组件模型属性



使用


Eclipse


设计器插件



eclipse


设计器插件是在


eclipse4.3(kepler)


版本开发的


,


经测试,是可以在


eclipse4.3+



myeclipse9+


上面运行



?




安装< /p>


Eclipse


插件



?





在百度网盘上下载


snaker-designer-*.*. *.jar


插件包,直接


copy


至< /p>


eclipse


安装目录下的


plugi ns


文件夹里即可使用。




考虑到大家下载的


eclipse


版本可能无 法使用设计器,建议直接从百度网盘上下载经过测试的


eclipse- kepler


版本



Myecli pse


安装插件时,可直接把插件包


copy

< br>至


dropins


文件夹下面即可



?



?





创建流程定义



?




1)


新建流程



依次选择


File->New->Other->Snaker


,如下图所



:



选择


Snaker Process File


并输入文件名称,如下图所



:



点击


Finish


,则打开流程设 计器主界面,其中包括两大部分


:


流程组件、属性


Properties


视图,如下图所


< p>
:



2)


定义节点



由于节点定义都是拖拽式的,所以不方便用图形来演示。这里仅仅贴上一个定义好的请假流程图:


定义流程的几个注意点:



1)

一个流程必须设置


name



di splayname


属性




2)


最常用的节点是


task

< br>,如果是人工任务,则需要设置


assignee[


参与 者


]



form[

设置表单


url]


,表单


url< /p>


的规则可以表示


contextPath


下面的绝对路径,也可以表示相对路径


[


相对路径是用于页面< /p>


include


情况


]



3)decision


节点用于决策 分支,必须设置


expr


属性,如果有多个选择分支,则建议设 置连接线的


expr


属性,可参考测试用





4)snaker

< p>
支持的会签,仅仅是设置


task



performType



5)snaker


支持三种参与者方式




直接设置静态参与者,即


assig nee


值为用户、部门或角色的标识符




通过运行时动态传递,即


assig nee


值为变量名称,在调用流程引擎的


api


时,通过


map


参数传递这个变量值

< br>



通过自定义类


[

< p>
继承


Assignment


]


,设置


assignmentHandler

< p>
属性,


assign


方法返回值就是参与者




6)


主办、协办 是通过


task


节点的


taskTyp e


设置的。


snaker


既支持单独的 节点作为协办节点,也支持主办节点动态的创建协


办任务



3)


保存定义



流程定义的保存,实际上就是将图形元素转换为


xml


格式并 保存。上面请假流程的


xml


数据为



/snakerflow/snaker- web/blob/master/src/main/resources/flows/

< br>使用


web


设计器


< p>
web


设计器是基于


myflow


开发的,使用的技术为


raphael




集成


web


设计器



设计器代码位于


snaker- web


项目的


snaker-websrcmainwebap pstylesjssnaker


目录下。




如果已有的项目需要集成


web


版本的设计器,主要是


copy


这个目录, 并且参考


snaker-websrcmainwebappWEB-INFcon


tentsnaker


目录下


proces s


开头的


jsp


文件,因为设计器需要 页面来编辑和展现。



?



创建流程定义



使用

< br>web


设计器的前提是已经成功运行


snaker-we b


应用,具体可参考“


1.5


演示部署 ”章节



1)


新建流程




admin


账号登录


snaker -web


,点击左栏菜单:流程管理


->


流程定义,如下图所示:



![image](/)



点击“设计”按钮,则打开


web< /p>


流程设计器,如下图所示:



![image](/)


web


版本 的流程设计器布局与样式尽量与


eclipse


的设计器插件保 持一致。其节点和属性参考“组件模型属性”介绍




在流程定义列表页面,点击“初始化”按钮,即可产生


6


个用于测试的业务流程,如下图所示:



![image](/)



注意:流 程的状态表示当前流程是否可用,版本号用于管理同名流程的多版本管理




![image](/)


上图中的 四个图标按顺序分别表示:启动流程、编辑、重新设计、禁用。点击重新设计,可打开已经定义好的业务流程,如


下图所示:



![image](/)


2)


定义节点



web


设计器定义流程时注意以下两点:


< br>1)web


流程设计器还是适用于开发人员,不适合业务人员。如果面向业务人员 ,需要多设计器进行改造




2)


设计器中连接线需要先点击连接线图标,再选择节点


1


、节点


2


,这样才能连接两个节点。连接线的删除是 通过


del


键盘


去操作的



3)


保存定义



也是将图形元素转换为


xml


格式,并保存至数 据库中,参见


wf_process



content


字段。



组件模型属性



组件模型



属性



描述



通用属性



name



组件名称,模型内名称唯一



displayName



组件中文显示名称,方便阅读



preInterceptors



前置拦截器



postInterceptors



后置拦截器



Process



expireTime



期望完成时间,设置表达式变量由参数传递



instanceUrl



流程定义列表页面直接启动流程实例的


URL


instanceNoClass



流程实例编号生成类



Transition



expr



决策选择

< br>Decision


节点的输出变迁表达式



Task



form



用户参与的表单任务对应的


URL


assignee



任务参与者变量



assignmentHandler



任务参与者处理类



taskType



任务类型(主办< /p>


/


协办)



performType



任务参与类 型(针对多个参与者),


ANY


为其中一个参与者完成即往下流 转;


ALL


为所有参与者完成


才往下流 转



reminderTime



任务提醒时间



reminderRepeat



提示重复次数



expireTime



期望完成时间



autoExecute



超时是否自动执行



callback



自动执行的回调设置



Custom



clazz



自定义节点的

< p>
Java


类路径,两种方式:


< br>1.


实现


IHandler


接口 ,实现接口时不需要设置下面三个属性。



2.


无接口实现的普通


java


类,需要设置下面方法名称 、参数属性



methodName



定义需要执行的


java


类的方法名称



args



定义传递的参数表达式





流程部署



?



deploy



s().deploy(StreamHelper


.getStreamFromClasspath(


部署后的版本号默认为

< p>
0


,如果存在同名的流程定义,则新的流程定义版本号依次加


1


,并不会影响其它已经运行的流程实


例。



?



redeploy



s().redeploy(processId, StreamHelper


.getStreamFromClasspath(


重新部署流程会影响已经运行的流程实例



?



undeploy



s().undeploy(processId)


卸载流程 只会更新状态


state


值,不会删除数据


流程启动



可根据流程定义的< /p>


id


或者


name


启动流程实例。如果相同的流程名称存在不同的版本,并使用


name


启动实例时,会以最新


的版本号来启动,其它低版本运行中的流程实例不会受到 影响,这样就允许流程的多个版本同时运行。



?



根据


id


启动实例



nstanceById(processId);


nstanceById(processId, operator);


nstanceById(processId, operator, args);


startInstanceById


方法的参数为:流程定义


id


、操作人


operator


、参数列表


args


?



根据


na me


启动实例



nstanceByName(name)


nstanceByName(name, version)


nstanceByName(name, version, operator)


nstanceByName(name, version, operator, args)


startInstanceByName


方法的 参数为:流程名称


name


、版本号


v ersion


、操作人


operator


、参数列表


args


任务执行


< /p>


执行任务是工作流平台中最常见的操作,其处理逻辑包括两部分:



?



?



完成当前任务



按照流程定义驱动产生新的任务



执行任务的调用方法如下:



eTask(taskId);


eTask(taskId, operator);


eTask(taskId, operator, args);


executeTask


参数分别表示:任务标 识


taskId


、操作人


operat or


、参数列表


args


应用整合



为了方便整合,

< p>
snaker


提供了应用示例提供参考



?



snaker- springmvc



/yuqs/snaker- springmvc




基于< /p>


SpringMVC



Spring3< /p>



Hibernate3



Snaker


的快速整合示例,仅仅包括流程管理的功能,所有涉及到操作人 员的


部分全部使用


admin


,如果整 合到具体项目时,一定要替换成系统当前登录的用户



?



snaker- struts2



/yuqs/snaker- struts2




基于


Struts2



Spring3

< p>


Mybatis



Sn aker


的快速整合示例,仅仅包括流程管理的功能,所有涉及到操作人员的部分全


部使用


admin


,如果整合到具体项目时 ,一定要替换成系统当前登录的用户



?



snaker- web



/yuqs/snaker- web




基于


SpringMVC



Spring3



Hibernate3



S hiro



Snaker


搭建的基础演 示应用,包含:用户管理、部门管理、角色管理、


权限管理、资源管理、菜单管理、流程 管理、数据字典等常用功能模块



?



jfaker



/yuqs/jfaker




基于


JFinal


< br>Shiro



Snaker


搭建 的基础演示应用,包含:用户管理、部门管理、角色管理、权限管理、资源管理、菜


单管 理、流程管理、数据字典等常用功能模块



目前


Snaker


可独立运行,以


API

< br>方式整合,同时也支持


spring


< br>jfinal



nutz


三个平 台,并且能够将事务托管给平台管理。


其它情况下,需要自定义扩展。

< br>


?



API




?




A PI


方式的事务由


snaker


自身管 理,保证每次


api


调用事务的正确性。




snaker


提供的测试用例目前就采用这种方式。



?



?



spring





?






spring

< br>整合过程,需要配置服务、事务,以保证事务交给


spring

< br>管理。可以参考


snaker- web


项目




jfinal



?




< /p>



Jfinal


整合类似于


API


方式



?



?





nutz



?




< /p>



Nutz


整合类似于

< br>API


方式



?




API


整合



如果使用


api


集成,需要在



中配置


DBAccess


Transaction



Dialect



import urce;


import Engine;


import lper;


import uration;


public class SnakerHelper {


private static final SnakerEngine engine;


static {


//


使用项目中已有的


DataSource

< br>、


SessionFactory


SqlSessionFactory


对象



//


传递至


init AccessDBObject


方法中都可以



DataSource dataSource = aSource();


engine = new Configuration()


.initAccessDBObject(dataSource)


.buildSnakerEngine();


}


public static SnakerEngine getEngine() {


return engine;


}


}


initAccessDBObject

< br>方法传递的参数值与



配置的数据库访问对应关系:



参数类型



访问对象



事务管理拦截器



依赖库





DataSource


JdbcAccess


DataSourceTransactionInterceptor





SessionFactory


HibernateAccess


Hibernate3TransactionInterceptor


hibernate-*-


SqlSessionFactory


MybatisAccess


MybatisTransactionInterceptor



initAccessDBObject

方法也可以不调用,而使用


ties


中的

< br>jdbc.



hibernate.

来初始化


DataSource



SessionFactory



SqlSessionFac tory


。但在实际的项目,还是建议使用该项目已有的


Dat aSource



SessionFactory



SqlSessionFactory


Spring


整合



?



?



?



?



增加


maven


依赖或

jar



配置


DBAccess



配置服务类



配置事务管理



增加

< br>maven


依赖或


jar


maven


坐标如下:




flow


snaker-spring


*.*.*



如果非


maven


项目,需要到百度网 盘下载


jar




配置


DBAccess


访问类型



springjdbc


hibernate


hibernate


mybatis


类路径



JdbcAccess


ate3Access


ate4Access


sAccess

如配置


Hibernate


方式的


DBAccess







配置服务类




























配置事务管理



需要将流程引擎的事务 托管给


spring


统一管理






























详细说明



本章主要详细介绍


Snaker


使用过程中各种常用的操作



表定义



?



?



?



表关系图



表关系图



表详细说明



字段详细说明



Snaker


流程引擎核心共


7


张表,关系图如下所示




表详细说明:



表名称



描述



wf_process



流程定义表



wf_order



活动实例表



wf_task



活动任务表



wf_task_actor



活动任务参与者表



wf_hist_order



历史实例表



wf_hist_task



历史任务表



wf_hist_task_actor



历史任务参与者表



wf_surrogate



委托代理管理表



wf_cc_order



抄送实例表



字段详细说明:



wf_process


:


字段名称



字段描述



id


主键


ID


name


流程名称



display_Name


流程显示名称



type


流程类型



instance_Url


实例


url


state


流程是否可用



content


流程模型定义



version


版本



create_Time


创建时间



creator


创建人



wf_order


:


字段名称



字段描述



id


主键


ID


parent_Id


父流程


ID


process_Id


流程定义


ID


creator


发起人



create_Time


发起时间



expire_Time


期望完成时间



last_Update_Time


上次更新时间



last_Updator


上次更新人



priority


优先级



parent_Node_Name


父流程依赖的节点名称



order_No


流程实例编号



variable


附属变量


json


存储



version


版本



wf_hist_order


:


字段名称



字段描述



id


主键


ID


parent_Id


父流程


ID


process_Id


流程定义


ID


creator


发起人



create_Time


发起时间



expire_Time


期望完成时间



end_Time


完成时间



priority


优先级



order_No


流程实例编号



variable < /p>


附属变量


json


存储

< br>


order_State


状态



wf_task


:


字段名称



字段描述



id


主键


ID


order_Id


流程实例


ID


task_Name


任务名称



display_Name


任务显示名称



task_Type


任务类型



perform_Type


参与类型



operator


任务处理人



create_Time


任务创建时间



finish_Time


任务完成时间



expire_Time


任务期望完成时间



action_Url


任务处理的


url


parent_Task_Id


父任务


ID


variable


附属变量


json


存储


version


版本



wf_hist_task


:


字段名称



字段描述



id


主键


ID


order_Id


流程实例


ID


task_Name


任务名称



display_Name


任务显示名称



task_Type


任务类型



perform_Type


参与类型



operator


任务处理人



create_Time


任务创建时间



finish_Time


任务完成时间



expire_Time


任务期望完成时间



action_Url


任务处理的


url


parent_Task_Id


父任务


ID


variable


附属变量


json


存储


task_State


任务状态



wf_task_actor


:


字段名称



字段描述



task_Id


任务


ID


actor_Id


参与者


ID


wf_hist_task_actor:


字段名称



字段描述



task_Id


任务


ID


actor_Id


参与者


ID


wf_surrogate


:


字段名称



字段描述



id


主键


ID


process_Name


流程名称



operator


授权人



surrogate


代理人



odate


操作时间



sdate


开始时间



edate


结束时间



state


状态



wf_cc_order


:


字段名称



字段描述



order_Id


流程实例


ID


actor_Id


参与者


ID


create_Time


抄送时间



finish_Time


完成时间



creator


发起人



status


状态




数据库支持


-


-


-


-


-


-


-


-



本文更新与2021-02-12 07:36,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/641809.html

snaker文档要点的相关文章