- 浏览: 7250028 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
工作流流程图:
工作流配置:
<?xml version="1.0" encoding="UTF-8"?> <definitions id="definitions" xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:activiti="http://activiti.org/bpmn" targetNamespace="Examples"> <process id="executionAndTaskListenerDelegation"> <!-- 全局性 --> <extensionElements> <activiti:executionListener class="com.easyway.activiti.servicetask.FieldInjectedExecutionListener" event="start"> <activiti:field name="fixedValue" stringValue="Yes, I am " /> <activiti:field name="dynamicValue" expression="${sentenceGenerator.getSentence()}" /> </activiti:executionListener> </extensionElements> <startEvent id="start" /> <sequenceFlow id="flow1" sourceRef="start" targetRef="userTask" /> <!-- 调用相关的工作流执行委托监听事件和任务监听事件--> <userTask id="userTask" name="Schedule meeting"> <extensionElements> <activiti:executionListener event="start" delegateExpression="${myExecutionListenerBean}" /> <activiti:taskListener event="create" delegateExpression="${myTaskListenerBean}" /> </extensionElements> </userTask> <sequenceFlow id="flow3" sourceRef="userTask" targetRef="userTask3" /> <!-- 调用相关的工作流执行监听事件--> <userTask id="userTask3"> <extensionElements> <activiti:executionListener expression="${myPojo.myMethod(execution.event)}" event="end" /> </extensionElements> </userTask> <sequenceFlow id="flow4" sourceRef="userTask3" targetRef="end" /> <endEvent id="end" /> </process> </definitions>
代码:
package com.easyway.activiti.servicetask; import org.activiti.engine.runtime.ProcessInstance; /** * 1.全局性的: * <!-- 全局性 --> <extensionElements> <activiti:executionListener class="com.easyway.activiti.servicetask.FieldInjectedExecutionListener" event="start"> <activiti:field name="fixedValue" stringValue="Yes, I am " /> <activiti:field name="dynamicValue" expression="${sentenceGenerator.getSentence()}" /> </activiti:executionListener> </extensionElements> 2. <userTask id="userTask" name="Schedule meeting"> <extensionElements> <activiti:executionListener event="start" delegateExpression="${myExecutionListenerBean}" /> <activiti:taskListener event="create" delegateExpression="${myTaskListenerBean}" /> </extensionElements> </userTask> 3. <userTask id="userTask3"> <extensionElements> <activiti:executionListener expression="${myPojo.myMethod(execution.event)}" event="end" /> </extensionElements> </userTask> * @author longgangbai * * 2011-12-20 下午09:30:42 */ @ContextConfiguration("classpath:servicetaskSpringTest-context.xml") public class ExecutionAndTaskListenerDelegationExpressionTest extends SpringActivitiTestCase { @Deployment(resources={"diagrams/userTaskexecutionAndTaskListenerDelegationExpression.bpmn20.xml"}) public void testExecutionAndTaskListenerDelegationExpression() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("executionAndTaskListenerDelegation"); assertEquals("working", runtimeService.getVariable(processInstance.getId(), "executionListenerVar")); assertEquals("working", runtimeService.getVariable(processInstance.getId(), "taskListenerVar")); } }
package com.easyway.activiti.servicetask; import org.activiti.engine.delegate.DelegateExecution; /** * @author longgangbai * * 2011-12-20 下午10:55:06 */ public class FieldInjectedExecutionListener implements ExecutionListener { private Expression fixedValue; private Expression dynamicValue; /* (non-Javadoc) * @see org.activiti.engine.delegate.ExecutionListener#notify(org.activiti.engine.delegate.DelegateExecution) */ @Override public void notify(DelegateExecution execution) throws Exception { execution.setVariable("var", fixedValue.getValue(execution).toString() + dynamicValue.getValue(execution).toString()); } }
package com.easyway.activiti.servicetask; import org.activiti.engine.delegate.DelegateExecution; /** * * @author longgangbai * * 2011-12-20 下午09:32:45 */ public class ActivitiExecutionListenerBean implements ExecutionListener { public void notify(DelegateExecution execution) throws Exception { execution.setVariable("executionListenerVar", "working"); } }
- activiti-servicetask.rar (51.7 KB)
- 下载次数: 184
评论
4 楼
string2020
2015-08-21
全是代码,就不能加点注释吗?
3 楼
xionggang163
2014-05-20
真不错,研究的很好。希望多给activiti作贡献
2 楼
longgangbai
2012-04-08
leon709 写道
哥们,真是把Activiti从头到尾研究个遍了,牛逼
多谢夸奖,略知一二。
1 楼
leon709
2012-04-05
哥们,真是把Activiti从头到尾研究个遍了,牛逼
发表评论
-
TestNG简单的学习(十三)TestNG中Junit的实现
2013-12-04 09:00 3285TestNG和junit的整合 ... -
TestNG简单的学习(十二)TestNG运行
2013-12-03 09:08 51442文档来自官方地址: ... -
TestNG简单的学习(十一)TestNG学习总结
2013-12-03 09:08 13992最近一直在学习关于TestNG方面的知识,根 ... -
TestNG简单的学习(十)TestNG @Listeners 的使用
2013-12-03 09:07 8622TestNG官方网站: http://testng.or ... -
TestNG简单的学习(九)TestNG Method Interceptors 的使用
2013-12-03 09:07 2652TestNG官方网站: http://testng ... -
TestNG简单的学习(八)TestNG Annotation Transformers 的使用
2013-12-03 09:07 2755TestNG官方网站: http://testng.or ... -
TestNG简单的学习(七)TestNG编程方式运行
2013-12-02 09:22 2395TestNG官方网站: http://testng.or ... -
TestNG简单的学习(六)测试工厂注释的使用
2013-12-02 09:22 2711TestNG官方网站: http://testng.or ... -
TestNG简单的学习(五)参数化测试数据的定制
2013-12-02 09:22 2639TestNG官方网站: http://testng.or ... -
TestNG简单的学习(四)测试方法通过名称名称依赖实现
2013-12-02 09:21 2030TestNG官方网站: http://testng.or ... -
TestNG简单的学习(三)测试方法通过测试分组依赖实现
2013-12-02 09:21 2763TestNG官方网站: http://testng.or ... -
TestNG简单的学习(二)参数化测试并发且多方法测试方法判定
2013-11-29 15:35 3633TestNG官方网站: http://testng.or ... -
TestNG简单的学习(一)类和方法级别@Test的区别
2013-11-29 15:31 9377TestNG官方文档的地址: http://testng ... -
Feed4Junit的简单使用(七)Feed4TestNg
2013-11-29 13:35 6078在Feed4Junit主要针对junit实现的 ... -
Feed4Junit的简单使用(六)数据来特定格式文件
2013-11-29 12:29 2686Feed4Junit官方地址: http://da ... -
Feed4Junit的简单使用(五)数据来自动态约束数据
2013-11-29 12:29 2560Feed4Junit官方地址: http://datab ... -
Feed4Junit的简单使用(四)数据来自定义数据源
2013-11-28 14:09 3038Feed4Junit官方地址: http://databe ... -
Feed4Junit的简单使用(三)数据源来自数据库
2013-11-28 13:58 3094Feed4Junit官方地址: http://databe ... -
Feed4Junit的简单使用(二)数据源来自文件
2013-11-28 13:50 4519Feed4Junit官方地址: http://datab ... -
Feed4Junit的简单使用(一)
2013-11-28 13:47 2156Feed4Junit官方地址: http://databe ...
相关推荐
NULL 博文链接:https://topmanopensource.iteye.com/blog/1315254
easyui实现的Activiti工作流引擎web版流程设计器 跨浏览器流程设计器 1.根据Activit设计器实现了除User Task外的其余节点。 2.重构的JS脚本,更利于扩展。
外面找的。一个工作流源码的案例 有需要的人拿去好了
主要包括:process--流程定义表,task_node--流程节点表, sequence_flow--迁移(连接线)表,process_instance--流程实例表,task_instance--任务实例表,task_instance_parameter--任务参数表,sign_user--会签...
1.2.15 表名:ACT_ID_USER(用户信息表) 11 1.2.16 表名:ACT_RE_DEPLOYMENT(部署信息表) 12 1.2.17 表名:ACT_RE_MODEL (流程设计模型部署表) 12 1.2.18 表名:ACT_RE_PROCDEF (流程定义表) 13 1.2.19 表名:ACT_RU...
Activiti工作流的课件整体、讲师: 刘洋 内容如下: 1:工作流的概念 1 ...16:用户任务(userTask,即用户操作的任务) 50 16.1:个人任务 50 16.2:组任务 56 16.3:工作流定义的角色组(了解) 68
BPMN2新规范 业界牛逼,流程建模设计,自动化,的工作流引擎
4.2.1 用户任务UserTask 4.2.1.1 用户任务入门案例Assignee指定 4.2.1.2 CandidateUser和CandidateGroup指定 4.2.1.3 多人会签MultiInstance 4.2.1.4 动态表单 4.2.2 服务任务ServiceTask 4.2.3 手工任务ManualTask ...
2:工作流的执行过程 演示程序:Activiti控制台 3:Activiti介绍 Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、...
6. ManagementService: ManagementService提供了对Activiti流程引擎的管理和维护功能,这些功能不在工作流驱动的应用程序中使用,主要用于Activiti系统的日常维护。 7. HistoryService: HistoryService用于获取正在...
1.2.15 表名:ACT_ID_USER(用户信息表) 11 1.2.16 表名:ACT_RE_DEPLOYMENT(部署信息表) 12 1.2.17 表名:ACT_RE_MODEL (流程设计模型部署表) 12 1.2.18 表名:ACT_RE_PROCDEF (流程定义表) 13 1.2.19 表名:ACT_RU...
Stepify(node-stepify) 是一个简单易扩展的Node.js流程控制引擎,采用方法链(methods chain)的方式定制异步任务,使得Node.js工作流易于理解和维护。 目标是将复杂的任务进行拆分成多步完成,使得每一步的执行过程...
它基于敏捷项目管理方法和默认的计划工作流,遵循Epic-> Feature-> User Story-> Task | 错误| 问题。 它提供动态用户界面,允许同时管理多个项目,分配团队成员,管理成员权限。 它的核心功能之一是在团队成员之间...
5.3.2 使用xaml声明工作流 264 5.4 小结 265 第6章 异常处理和调试 267 6.1 visual studio 2010 team system的新增内容:历史调试 267 6.2 与visual basic 6兼容的注意事项 268 6.3 .net中的异常处理 268 ...
- 发起者启动流程后若要自动完成第一个用户任务,则第一个 `userTask` 的 `id` 要定义为`__initiator__`,若涉及流程表单,则可设置`__initiator__`的任务表单 `formKey` 与流程表单相同 - 如果涉及并行网关,并行...
由于第三方风险纠纷,此脚本停止了共享。...进入日常任务daily-task,然后启用工作流程启用工作流 返回代码代码处,进入自述文档README.md,随意编辑它,某些删除此处的/ *。再单击下面的绿色提交更改保存。
由于第三方风险纠纷,此脚本停止了...进入日常任务daily-task,然后启用工作流程启用工作流 返回代码代码处,进入自述文档README.md,随意编辑它,某些删除此处的。再单击下面的绿色提交更改保存。 并发数我改成2了。
PASSWORD服务密码依次添加共四项添加以上数据之后,进入 actions ,点击绿色长条启用它,进入日常任务daily-task,然后Enable Workflow启用工作流回到代码Code处,进入自述文档README.md,随意编辑它,比如删除此处的...
由于第三方风险纠纷,此脚本停止...进入日常任务daily-task,然后启用工作流程启用工作流 返回代码代码处,进入自述文档README.md,随意编辑它,某些删除此处的/ *。再单击下面的绿色提交更改保存。 并发数我改成2了。