欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    Activiti工作流入门详解完整教程NewWord文档下载推荐.docx

    • 资源ID:7772425       资源大小:1,004.65KB        全文页数:34页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Activiti工作流入门详解完整教程NewWord文档下载推荐.docx

    1、安装完成后在菜单选项中会出现Activiti的目录选项2.3 设置eclipse activit插件的画流程图 选项打开菜单Windows - Preferences - Activiti -Save 下流程图片的生成方式勾选上Create process definition image when saving the diagram操作,勾选上这个操作后在画流程图后保存eclipse会自动生成对应的流程图片。2.4 准备开发环境2.4.1 创建maven web项目,在maven中添加Activiti依赖在eclipse左边工作栏右键New选择创建Maven Project项目,创建一个名

    2、为ActivitiTest的项目点击Finish完成。右键项目选择Properties,选择Project Facets 勾选上图中的选项,点击Apply,再点击OK然后将项目转换成web项目,右键项目选择Properties,在Project Facets中做如下勾选,然后点击Appy应用和OK确定然后右键项目Properties ,选择Deployment Assembly,将test相关目录Remove掉之保留main下面需要发布的内容,如下图然后点击Appply和OK然后在pom.xml文件中添加以下依赖 org.ActivitiartifactIdActiviti-enginever

    3、sion5.21.0/dependencyActiviti-springorg.codehaus.groovygroovy-all2.4.3org.slf4jslf4j-api1.7.6slf4j-jdk14junit3.8.1testmysqlmysql-connector-java5.1.38 然后在命令行下mvn compile 编译当前项目,将需要的包下载到本地仓库2.4.2 初始化数据库1)src/main/resource目录下创建Activiti.cfg.xml文件,内容如下?xml version=1.0 encoding=UTF-8beans xmlns=http:/www.

    4、springframework.org/schema/beans xmlns:xsi=/www.w3.org/2001/XMLSchema-instancecontext=/www.springframework.org/schema/contexttx=/www.springframework.org/schema/txjee=/www.springframework.org/schema/jeeaop=/www.springframework.org/schema/aop xsi:schemaLocation=/www.springframework.org/schema/beans ht

    5、tp:/www.springframework.org/schema/beans/spring-beans-3.0.xsd/www.springframework.org/schema/context http:/www.springframework.org/schema/context/spring-context-3.0.xsd/www.springframework.org/schema/tx http:/www.springframework.org/schema/tx/spring-tx-3.0.xsd/www.springframework.org/schema/jee http

    6、:/www.springframework.org/schema/jee/spring-jee-3.0.xsd/www.springframework.org/schema/aop http:/www.springframework.org/schema/aop/spring-aop-3.0.xsd bean id=processEngineConfiguration class=org.Activiti.engine.impl.cfg.StandaloneProcessEngineConfigurationproperty name=jdbcDriver value=com.mysql.jd

    7、bc.Driver /jdbcUrljdbc:mysql:/localhost:3306/test?useUnicode=true&characterEncoding=utf8jdbcUsernamerootjdbcPassworddatabaseSchemaUpdatetrue/bean/beansjdbcUrl为你电脑数据库的urljdbcUsername为数据库用户名jdbcPassword为数据库密码2)在main/java目录下创建任意目录和类编写创建Activiti数据表方法public class CreateTable /* * 创建流程表 * */ Test publ

    8、ic void createTable() ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(Activiti.cfg.xml) .buildProcessEngine(); System.out.println(-processEngine: + processEngine); 然后运行该测试方法,如果运行成功,在数据库中应该会产生25张Activiti的相关数据表2.4.3 Activiti表说明下面是概括了几个常用的数据表流程部署相关表

    9、act_re_deployement 部署对象表act_rep_procdef 流程定义表act_ge_bytearray 资源文件表act_ge_prperty 主键生成策略表(对于部署对象表的主键ID)流程实例相关表act_ru_execution 正在执行的执行对象表(包含执行对象ID和流程实例ID,如果有多个线程可能流程实例ID不一样)act_hi_procinst 流程实例历史表act_hi_actinst 存放历史所有完成的任务Task 任务相关表act_ru_task 代办任务表 (只对应节点是UserTask的)act_hi_taskinst 代办任务历史表 (只对应节点是Us

    10、erTask的)act_hi_actinst 所有节点活动历史表 (对应流程的所有节点的活动历史,从开始节点一直到结束节点中间的所有节点的活动都会被记录)流程变量表act_ru_variable 正在执行的流程变量表act_hi_variable 流程变量历史表3.核心API3.1 ProcessEngine说明:1) 在Activiti中最核心的类,其他的类都是由他而来。2) 产生方式ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();3)可以产生RepositoryService Repository

    11、Service repositoryService =processEngine.getRepositoryService();4) 可以产生 RuntimeServiceRuntimeService runtimeService = processEngine.getRuntimeService();5) 可以产生TaskServiceTaskService taskService =processEngine.getTaskService();各个Service的作用RepositoryService管理流程定义RuntimeService执行管理,包括启动,推进,删除流程实例等操作Tas

    12、kService任务管理3.2 RepositoryServiceActiviti的仓库服务类。所谓的仓库指流程定义文档的两个文件:bpmn文件和流程图片该service可以用来删除部署的流程定义。3.3 RuntimeService是Activiti的流程执行服务类,可以从这个服务类中获取很多关于流程执行的相关的信息。3.4 TaskService是Activiti的任务服务类。可以从这个类中获取任务的相关信息,如当前正在执行的个人待办和用户组待办任务。3.5 HistoryService是Activiti的查询历史信息的类,在一个流程执行完成后,这个对象为我们提供查询历史信息,可以跟踪流程

    13、实例对应所有待办节点的运行情况。3.6 ProcessDefinition流程定义类,可以从这里获得资源文件等。3.7 ProcessInstance代表流程定义的执行实例,当一个部署的流程图启动后,该流程只有一条流程实例数据,但是它的流程任务可以有多个,每个任务对应流程图中相应的流程节点。4.入门HelloWorld程序4.1创建流程图方法点击ActivitiTest项目,在src/main/java目录下创建一个diagrams目录用来存放流程图在当前项目右键选择Activiti Diagram流程图输入流程图名称HelloWorld,然后点击OK,在控制面板的右边栏有相关的画图图标操作其

    14、中一个流程必须包含一个开始节点和一个结束节点,结束节点可以有多个。然后使用StartEvent, UserTask,EndEvent画出下面的流程图,然后用Connection中的SequenceFlow连线连接起来。4.2创建流程图,如下图4.3 指定流程图名称,ID和UserTask的处理人1)选中第一个节点,在 General中的name属性中输入当前节点的名称,在Main config中的Assignee中输入该节点的处理人,然后以此类推将3个节点的值设置完成。,2)然后在流程图旁边的空白出点击一下,输入流程的ID和Name值,然后保存4.4 将流程图部署到Activiti的数据表中启

    15、动完成后在act_re_deployment流程部署表和act_re_procdef流程定义表中会有对应的数据信息.4.5 启动流程实例其中runtimeService.startProcessInstanceByKey(HelloWorldKey);中的HelloWorldKey对应流程图中的ID值,在数据表中对应act_re_procdef流程定义表中的key字段启动完流程后在act_ru_execution表中会产生一条数据,这条数据为当前流程正在执行的任务,其中act_id_字段的值对应流程图节点的ID值在act_ru_task表中会产生一条任务数据,execution_id_对应ac

    16、t_ru_execution主键,proc_inst_id_为流程实例ID,name_值为流程节点名称,assignee_字段为该待办当前的处理人4.6 查询待办任务指定查询张三的待办,可以查询出待办为第一个节点的处理任务。4.7 完成待办任务其中taskId对应act_ru_task表的主键ID,因为当前待办任务为第一个节点提交申请,当执行完这个待办后下一条待办数据将会流转到审批【部门经理】那,然后以此类推可以将部门经理和总经理的待办任务全部查询和执行完成。5.查询和删除流程定义1)查询流程定义2) 删除流程定义6.流程变量操作6.1 设置流程变量1)设置流程变量有多种方式,可以在流程启动,

    17、和任务执行的时候设置a.启动流程的时候设置b. 通过taskService或者runtimeService设置提示:如果设置的流程变量值是一个对象类型,这个对象必须实现序列化Serializable操作,并且要为该对象类指定一个 版本ID6.2 获取流程变量见工程操作7.流程连线在画流程图的时候可以对流程的连线设置表达式,然后在执行的时候设置流程变量值,然后Activiti会根据对应的值走对应的节点点击一条连线,在Main config中的Condition属性值中设置$message=同意,另外一条线设置为$message=不同意,然后在代码中设置对应流程变量值。8.排他网关如下图,其中黑色

    18、的叉叉对应eclipse画流程图图标中的ExclusiveGateWay图标 然后对每条线的Condition属性指定对应的表达式,然后在执行任务时候设置对应的流程变量Activiti会根据变量的值来判断对应连线中的表达式走对应的流程节点路线。9.并行网关十字图标对应图标中的ParallelGateway并行网关不需要指定连线的表达式,当流程流转到并行任务时会出发多个任务,当多个任务完成后在会将流程流转到下一个节点10.个人任务的三种指定方式10.1 在Assignee中指定任务具体的处理人10.2 在Assignee中指定任务的处理人或角色变量当指定Assignee为一个变量值后需要在代码中

    19、设置对应的处理人,比如在启动的时候设置userId的值在工程中可以将起草人的处理变量设置为userId,审批人的处理变量设置为appUserId,然后通过业务模块和登录人来获取对应模块的审批人。10.3 为任务节点设置一个监听类来设置当前节点的处理人如果设置了监听类就不需要在设置Assignee的值1)创建一个监听器类,需要实现TaskListener接口2) 点击任务节点,选择Listener选项卡,点击New ,将Event的值改为create然后选择创建的TaskListenerImpl实现类然后当任务到达该节点后Activiti会触发监听实现类的notify方法11.组任务的三种指定方式11.1 在任务节点中设置Candidate user 候选人设置的候选处理人用英文输入法的逗号隔开,当任务到达该节点后,设置的候选人其中任何一个人都可以处理当前待办,处理完成后待办结束。11.2 在Candidate user中设置一个变量作为处理人然后通过启动或者执行流程向下传递的时候设置该流程变量值11.3 通过监听类来设置待办处理人和个人任务的监听类一样实现TaskListener接口,然后设置CandidateUser的值


    注意事项

    本文(Activiti工作流入门详解完整教程NewWord文档下载推荐.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开