- 浏览: 425996 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
Glogo:
楼主您好,我在试验您的代码的时候发现新开的三个子线程并没有一直 ...
java 高并发 ReentrantLock -- 可重入的锁 -
univasity:
最近发觉也被限速了,投诉一下就好一会~~ 看来明天又要和电信M ...
ADSL上网速度慢 都是帐号限速惹的祸 -
liuyuanhui0301:
java 高并发 ReentrantLock -- 可重入的锁 -
dang_java:
呵.很好的说明文档.
JXTA技术与应用发展 -
helloqidi:
谢谢,学习了
SQL中exists和in的区别
一,装载流程:
第一种:
- JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
- JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try {
- Entity[] entities = IdentityXmlParser
- .parseEntitiesResource("hsqldb/identity.db.xml");
- IdentitySession identitySession = new IdentitySession(jbpmContext
- .getSession());
- for (int i = 0; i < entities.length; i++) {
- identitySession.saveEntity(entities[i]);
- }
- } finally {
- jbpmContext.close();
- }
第二种:
- ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
- "<process-definition>" +
- " <start-state>" +
- " <transition to='s' />" +
- " </start-state>" +
- " <state name='s'>" +
- " <transition to='end' />" +
- " </state>" +
- " <end-state name='end' />" +
- "</process-definition>"
- );
三,取得流程实例,流程实例数据环境 三,创建一个事务实例:TaskInstance taskInstance=processInstance.getTaskMgmtInstance().createStartTaskInstance(); 四,创建一个流程实例数据环境: 五,创建令牌: 六, 现在开始流程执行,离开start-state 结束默认的转换(transition) 七,保存事务 八,jbpm数据库表创建和删除: 十,任务分派 1,分配接口:通过接口AssignmentHandler来分配任务实例: public interface AssignmentHandler extends Serializable { 一个分配handler实现在任务实例建立的时候被调用. 在这个时候,任务实例可以分配给一个或多个参与者. 3, 分配一个TaskInstance给用户, 调用 Assignable.setActorId(String actorId) . 4,流程中的每个任务都可以用在运行时间执行分配handler的实现关联起来. 5,推模式:任务实例的actorId 表明对指定任务责任的. TaskInstance 缓存的参与者是任务参与者的候选人. 为了防止多个用户在同一个共有的任务上工作, 更新TaskInstance 为用户的actorId就可以了. 7,个人任务清单是所有所有指定actorId作为用户的 TaskInstances.这个清单的获得是用过 TaskMgmtSession.findTaskInstances(String actorId). 8,泳道:泳道(swimlane)是流程角色 9,任务事件:任务有动作关联. 有4个标准任务事件类型定义: task-create, task-assign, task-start 和 task-end. 11,任务控制器:任务是用来收集用户输入的.任务控制器为用户接口应用程序提供流程变量的视图. name 属性引用流程变量的. access 属性指明变量是否readable, writable and 或 required. 这个信息可以用于用户接口来产生正确的表单控制. access 属性是任意的并且默认 access 是 read,write .mapped-name 是任意的并且表示用户接口的标签用于表示一个参数. 2)你可以写你自己的 TaskControllerHandler 实现. 12,身份组件:用户管理,组和权限管理一般都称做身份管理.
二,创建一个流程实例:
第一种方法:ProcessInstance processInstance = new ProcessInstance(processDefinition);
第二种方法:processInstance = jbpmContext.newProcessInstanceForUpdate("websale");
ContextInstance contextInstance = processInstance.getContextInstance();
流程环境变量可以存取变量:contextInstance.getVariable("item");
Token token = processInstance.getRootToken();//等于processDefinition.getStartState();
token.signal();
第一种:
第二种:
九,jbpm session创建
JbpmSession jbpmSession = jbpmSessionFactory.openJbpmSession();
在jBPM, 推 和 拉l 模式 (看下面) 的任务分派可以组合使用. 流程能计算任务的责任并把它"推"到他/她的任务清单里(tasklist).或者另外的方法, 把任务分配给参与者池, 这种情况下池中的每一个参与者可以"拉"任务并且把它们放到参与者个人的任务清单中(tasklist).
void assign( Assignable assignable, ExecutionContext executionContext );
}
2,AssignmentHandler 实现可以调用 Assignable 方法(setActorId或 setPooledActors )来分配任务.
可分配的要么是一个 TaskInstance 或者 SwimlaneInstance (= 流程角色).
分配一个TaskInstance给候选参与者池, 调用 Assignable.setPooledActors(String[] actorIds).
典型的,TaskInstance 的actorId将引用一个用户. 缓存的参与者可以引用用户和组.
6,拉模型:
获取集中的任务典型两个步骤操作:
1)从身份组件得到给定用户所有的组
2)根据用户的actorId和从用户组得到的actorId来得到所有共有的任务
得到给定用户的所有共有的任务的清单通过方法 TaskMgmtSession.findPooledTaskInstances(String actorId) 或 TaskMgmtSession.findPooledTaskInstances(List actorIds) .
做了这个, 任务实例将不会显示在共有的任务清单里,但只在用户的个人任务清单里.
设置TaskInstance 的actorId 为null,将会把任务实例放回共有的任务里.
所有分派是在给定swimlane任务实例上完成.
task-create 在任务实例建立的时候被产生.
task-assign 当任务实例被分配的时候产生.你可以访问前一个参与者通过 executionContext.getTaskInstance().getPreviousActorId()
task-start 是当 TaskInstance.start()被调用时产生 .
task-end 当 TaskInstance.end(...)被调用时产生 .
10,任务定时器:任务定时器指明的事情是 cancel-event 可以定制的.默认的, 任务上的定时器在任务结束时,将被放弃 (= 完成).
cancel-event 类型能被用逗号分隔的多个事件列表.
任务控制器有2个责任:第一个, 从流程变量里提取信息. 从流程变量里提取的信息表示作为一个指定的参数的集合.参数用做来自用户接口表单的输入. 第二个责任是保存用户提交的参数到流程变量里.
输入流程变量的二种方式:1)任务控制器在task元素中指定.
例
例:
发表评论
-
Android 数字签名学习笔记
2012-04-25 11:03 958在 Android系统中,所有安装到系统的应用程序都必有 ... -
序列化:serializable,hessian,protobuf性能对比
2011-10-31 17:08 1244分布式应用系统中,系统之间的通讯的质量决定了系统的可用性 ... -
JAR 文件揭密
2011-10-18 01:28 887JAR 文件是什么? ... -
SSL双向认证java实现
2011-10-17 23:49 1017本文通过模拟场景,介绍SSL双向认证的java实现默认的情况下 ... -
Benchmark Analysis: Guice vs Spring
2011-04-19 14:35 1038The original link can be found ... -
Java Network Launching Protocol
2011-04-18 17:43 907在java开发的早期,重点被放在了客户端开发。语言中对于app ... -
NIO 包及工作原理
2011-03-11 11:14 1734NIO 包及工作原理 针对 ... -
使用Java NIO编写高性能的服务器
2011-03-11 01:19 787从JDK 1.4开始,Java的标 ... -
RMI, RMI-IIOP,JNDI
2009-05-21 17:31 15001. RMI-IIOP(Java Remote ... -
企业中的 RMI-IIOP
2009-05-21 17:13 1007RMI 和 CORBA 常被视 ... -
JMX
2009-05-21 15:44 982JMX规范 1.1 J ... -
使用Eclipse IDE的技巧
2009-02-24 11:00 1788使用Eclipse IDE的技巧 作 ... -
spring quartz 动态定时任务
2009-01-22 13:31 4471什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什 ... -
基于struts+spring+ibatis的轻量级
2009-01-12 16:21 1033基于struts+spring+ibatis的轻量级J2 ... -
Log4j配置实例[经典]
2009-01-12 14:53 1282Log4j配置实例[经典] 0 推荐 ... -
jbpm请假工作流
2008-09-19 13:56 1846请假流程(备用) 工作中要用到JBPM写工作流,自习的时 ... -
利用JExcel API操作EXCEL文件
2008-09-08 10:52 1466使用Windows操作系统的朋 ... -
jExcel API讲解
2008-09-08 10:51 1488转自:http://jhobby.iteye.com/blog ... -
Tomcat5.0乱码全解决方案
2008-09-02 11:56 1091http://hi.baidu.com/liet2008/bl ... -
Linux_Macintosh 平台下 Eclipse 环境中的 JNI 混合语言调试
2008-08-28 18:27 1486Linux_Macintosh 平台下 Eclipse ...
相关推荐
jBPM3是一款开源的工作流管理系统,主要用于处理业务流程的自动化和管理。它提供了一套完整的解决方案,包括流程建模、执行和监控,旨在帮助企业提高工作效率,规范业务流程,并实现流程的灵活变更。在深入学习和...
在IT行业中,工作流...而"java开源工作流(workflow)---jBPM学习心得总结(原创)from1to6.htm"这个文件很可能是关于这一系列学习过程的详细记录,包含了作者从初学到精通的全阶段经验分享,值得仔细研读和借鉴。
这个压缩包包含了jBPM工作流应用开发的关键资源,包括安装配置指南、完整的开发指南目录以及工作流基础知识,还有个人的学习笔记,是深入理解并实践jBPM的好资料。 首先,我们来看"安装和配置jBPM4.pdf"。这个文件...
jbpm是一款免费开源的工作流引擎,虽然现在还不完善,但是用起来还是不错的..... 我学习jbpm的一些笔记心得
开源工作流产品JBPM的开发指南,是本人在学习JPBM过程中一点心得体会,希望能给各位开发者在使用JBPM过程中带来帮助.
jBPM,全称Java Business Process Management,是一个由JBoss组织开发的开源工作流管理系统,主要功能在于帮助企业或组织管理其业务流程。它提供了一套完整的工具链,包括流程建模、部署、执行、监控和管理。jBPM...
在本篇文章中,我们将深入探讨如何在特定环境下配置JBPM工作流引擎,并使其与多种数据库(MySQL、Oracle等)兼容。为了更好地理解配置过程,请确保您已经具备以下环境条件: - **操作系统**: Windows 或 Linux ...
jbpm,全称是Java Business Process Management,是一个开源的工作流管理系统,主要用于业务流程的建模、执行和管理。它提供了一种灵活的方式,使得开发人员和业务分析师能够协同工作,创建、部署和执行复杂的业务...
JBPM(Java Business Process Management)是一个开源的工作流管理系统,主要用于设计、执行和管理业务流程。JBPM4.3是JBPM的一个重要版本,它提供了强大的流程建模、执行和服务集成能力,是企业级应用中进行流程...
jbpm,全称为Java Business Process Management,是一款开源的工作流管理系统,用于实现业务流程自动化。它提供了从设计、部署到执行的全过程支持,是基于Java技术的企业级流程管理框架。jbpm不仅适合大型企业,也...
JBPM(JBoss Business Process Management)是Red Hat公司推出的一款开源的工作流管理系统,它提供了一套完整的业务流程管理解决方案,包括流程设计、执行、监控和优化。JBPM允许开发者和业务分析师通过图形化的方式...
- **定义与特点**:jbpm(Java Business Process Model)是一个开源的工作流引擎,用于自动化业务流程的执行。它提供了一种灵活的方式来定义复杂的业务流程,并通过Java API或图形化工具进行流程建模。jbpm4.2版本在...
通过这个jbpm4.3 CHM教程,学习者可以系统地了解如何安装和配置jbpm环境,创建和执行第一个流程,使用工作流API进行编程,以及如何进行流程监控和优化。同时,教程可能还涵盖了与Drools的集成,以及如何利用jbpm的...
### jBPM工作流系统概览与实践案例 #### 核心知识点解析: **jBPM**(Java Business Process Model)是一种开源的工作流管理系统,它提供了业务流程管理(BPM)的功能,允许开发者以图形化的方式设计流程,并通过...
【jbpm4.4 练习代码】是一个与工作流管理系统相关的编程...总之,jbpm4.4练习代码是一个深入学习和实践工作流管理系统的宝贵资源,涵盖了流程设计、部署、执行和监控等多个方面,对于提升企业级应用开发能力大有裨益。
3. jbpm3与jbpm4实现对比:jbpm是一款流行的工作流管理系统,对比两个版本的实现,有助于开发者了解其演进和改进,选择适合项目的版本。 4. Java、PHPRPC、Hessian、Burlap、AMF3、XML序列化的效率对比:这些是不同...