欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    activiti流程文件细解.docx

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

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

    activiti流程文件细解.docx

    activiti流程文件细解 Activiti 流 程 文 件 细 解 1 -Pracess -3 -Data Objects-4 -Listeners-5 -Java class-6 -Expression-6 -Delegate Expression-7 -启动节点-8 -General-8 -Main config-9 -Documentation-9 -Form-10 1、动态表单-10 2、外置表单-11 3、普通表单-12 -Listeners-13 -任务-14 -!-User Task-14 -General-14 -Main config-15 -Listeners-16 -Multi instance-16 -网关-17 2 流程文件: -Pracess - <process id="Process" name="请假流程-普通表单" isExecutable="true"> <documentation>请假流程演示</documentation> </process> - 3 -Data Objects - <process id="myProcess" name="My process" isExecutable="true"> <documentation>这是一个演示</documentation> <dataObject id="wsy" name="wsy" itemSubjectRef="xsd:string"> <extensionElements> <activiti:value>汪诗雨</activiti:value> </extensionElements> </dataObject> </process> - 4 -Listeners Java class ,Expression,Delegate expression 都有域,其中的值可以传给监听器 - <extensionElements> <activiti:executionListener event="start" class="org.xdemo.example.activiti.Cdi.event.ABC"> <activiti:field name="user"> <activiti:string><!CDATAHelloWord> </activiti:string> </activiti:field> </activiti:executionListener> </extensionElements> - 5 -Java class 注意:class需要实现接口 org.activiti.engine.delegate.ExecutionListener - <process id="myProcess" name="My process" isExecutable="true"> <documentation>这是一个演示</documentation> <extensionElements> <activiti:executionListener event="start" class="org.xdemo.example.activiti.Cdi.event.ABC"> </activiti:executionListener> </extensionElements> </process> - -Expression 定义一个表达式类似EL语法。这里的pojo是一个Bean的名称,还可以子expression中通过计算一个表达式配置监听器的名称 - 6 <process id="myProcess" name="My process" isExecutable="true"> <documentation>这是一个演示</documentation> <extensionElements> <activiti:executionListener event="end" expression="$pojo.method(executionListenerForStart)"></activiti:executionListener> </extensionElements> </process> - -Delegate Expression 这里指定的是一个spring代理的业务bean,业务bean必须实现接口: org.activiti.engine.delegate.ExecutionListener - <process id="myProcess" name="My process" isExecutable="true"> <documentation>这是一个演示</documentation> <extensionElements> <activiti:executionListener event="start" delegateExpression="$aBean"></activiti:executionListener> 7 </extensionElements> </process> - -启动节点 启动时间的三种类型:1.空启动事件 2.定时启动事件 3.邮件启动事件 4.异常启动事件 *注:其中第四个异常启动事件和另为3个又不相同 -General - <process id="myProcess" name="My process" isExecutable="true"> <documentation>这是一个演示</documentation> <startEvent id="startevent1" name="Start"></startEvent> </process> - 8 -Main config *注: Initiator:可以用来记录启动流程人的id启动流程之后次属性指定的变量就会自动设置当前人的名称 Form key:可以用来指定空启动事件关联表单 - <process id="myProcess" name="My process" isExecutable="true"> <documentation>这是一个演示</documentation> <startEvent id="startevent1" name="Start" activiti:initiator="applyUserId" activiti:formKey="startUserId"></startEvent> </process> - -Documentation - <process id="myProcess" name="My process" isExecutable="true"> <documentation>这是一个演示</documentation> <startEvent id="startevent1" name="Start" activiti:initiator="applyUserId" activiti:formKey="startUserId"> </startEvent> 9 <documentation>abc</documentation> </process> - -Form(表单) *注:Activiti的空启动事件和任务事件都是以表单的形式提交给流程引擎 作用 : 当我们要打开任务表单的时候可以重定向到任务表单,重定向的action如: formKey + "?id=" +objId + "&taskId=" +taskId; objId为业务对象Id,taskid为任务id,这样就可以在任务表单获取到想要的信息 一般使用的表单大概有三种: 1、动态表单 - 10 <process id="myProcess" name="My process" isExecutable="true"> <documentation>这是一个演示</documentation> <startEvent id="startevent1" name="Start" activiti:initiator="applyUserId" activiti:formKey="startUserId"> <extensionElements> <activiti:formProperty id="id" name="id" type="string" expression="$leave.reason" variable="aUser" default="abc"></activiti:formProperty> </extensionElements> </startEvent> </procss> - 2、外置表单 这种方式常用于基于工作流平台开发的方式,代码写的很少,开发人员只要把表单内容写好保存到.form文件中即可,然后配置每个节点需要的表单名称,实际运行时通过引擎提供的API读取Task对应的form内容输出到页面。 此种方式对于在经常添加新流程的需求比较适用,可以快速发布新流程,把流程设计出来之后再设计表单之后两者关联就可以使用了。例如公司内部各种简单的审批流程,没有业务逻辑处理,仅仅是多级审批是否通过等等情况 当流程需要一些特殊处理时可以借助Listener或者Delegate方式实现。 Activiti Explorer就是使用的这种方式,表单信息都配置在流程定义文件中。 - 11 <process id="myProcess" name="My process" isExecutable="true"> <documentation>这是一个演示</documentation> <startevent id="startevent" name="Start" activiti:formkey="diagrams/form/start.form"> </startevent> </startEvent> </procss> - 3、普通表单 这个是最灵活的一种方式,常用于业务比较复杂的系统中,或者业务比较固定不变的需求中,例如ERP系统。 普通表单的特点是把表单的内容存放在一个页面文件中,存放方式也有两种: 1.一体式:把整个流程涉及到的表单放在一个文件然后根据处理的任务名称匹配显示,demo的普通表单模式就是一体式的做法,把表单内容封装在一个div里面,div的ID以节点的名称命名,点击“办理”按钮时用对话框的方式把div的内容显示给用户。 2.分离式:对于非Ajax应用来说比较常用,每个任务对应一个页面文件,点击办理的时候根据任务的ID动态指定表单页面。 和以上两种方式比较有两点区别: 1. 表单:和第二种外置表单类似,但是表单的显示、表单字段值填充均由开发人员写代码实现。 2. 数据表:数据表单独设计而不是和前两种一样把数据以key、value形式保存在引擎表中。 12 - -Listeners *注:这里的监听器和流程的执行监听器是一样的 13 -任务 -!-User Task -General *注:与空启动事件相比General下多了两个属性 14 Asynchronous :是否异步 Exclusive : 是否独占 - <process id="myProcess" name="My process" isExecutable="true"> <documentation>这是一个演示</documentation> <userTask id="usertask1" name="User Task"></userTask> </startEvent> </procss> - -Main config - <process id="myProcess" name="My process" isExecutable="true"> <documentation>这是一个演示</documentation> <userTask id="usertask1" name="User Task" activiti:assignee="徐总" activiti:dueDate="$overDate" activiti:priority="$priority"></userTask> </startEvent> </procss> 15 - -Listeners *注:这里叫做任务监听器,和执行监听器大体相同,只是类实现的接口不同。 注意:class需要实现接口 org.activiti.engine.delegate.TaskListener -Multi instance - <process id="myProcess" name="My process" isExecutable="true"> <documentation>这是一个演示</documentation> <userTask id="usertask1" name="User Task" activiti:assignee="徐总" activiti:dueDate="$overDate" activiti:priority="$priority"> <multiInstanceLoopCharacteristics isSequential="false" activiti:collection="$users" activiti:elementVariable="user"> <loopCardinality>3</loopCardinality> 16 <completionCondition> $index/a=1</completionCondition> </multiInstanceLoopCharacteristics> </userTask> </startEvent> </procss> - -网关 -General Default flow:默认线路 - <process id="myProcess" name="My process" isExecutable="true"> <documentation>这是一个演示</documentation> <parallelGateway id="parallelgateway1" name="Parallel Gateway"></parallelGateway> </procss> - -Listeners *注:这里的监听器和流程的执行监听器是一样的 17

    注意事项

    本文(activiti流程文件细解.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开