快速业务通道

jBPM-4.0中文开发指南-第14章 持久化 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
); } finally {   environment.close(); }

在前一个事务中,流程定义,活动,转移 会被插入到数据库表中。

接下来我们演示一个流程定义的新流程执行是如何启动的。 注意在这个情况下,我们提供了一个业务 键 叫做''first''.这会让我们更简单的处理相同的执行 从数据库的事务中。在启动新流程执行后, 它会 等待''one''活动 因为行为是一个等待状态。

environment = environmentFactory.openEnvironment(); try {   PvmDbSession pvmDbSession = environment.get(PvmDbSession.class);   ProcessDefinition processDefinition = pvmDbSession.findProcessDefinition("persisted process");   assertNotNull(processDefinition);   Execution execution = processDefinition.startExecution("first");   assertEquals("one", execution.getActivity ().getName());   pvmDbSession.save(execution); } finally {   environment.close(); }

jBPM-4.0中文开发指南-第14章 持久化(4)

时间:2011-09-24

在上一个事务中,一个新执行记录会被插入到 数据库中。

下一步,我们反馈一个外部触发器到这个存在的流程执行中。 我们读取执行,提供一个signal,然后 只是把它保存回数据库中。

environment = environmentFactory.openEnvironment(); try {   PvmDbSession pvmDbSession = environment.get(PvmDbSession.class);   Execution execution = pvmDbSession.findExecution("persisted process", "first");   assertNotNull (execution);   assertEquals("one", execution.getActivity().getName());   // external trigger that will cause the execution to execute until   // it reaches the next wait state   execution.signal();   assertEquals("two", execution.getActivity ().getName());   pvmDbSession.save(execution); } finally {   environment.close(); }

前一个事务会对已存在的执行进行更新, 重新分配外键,引用活动表中的 另一条记录。

UPDATE JBPM_EXECUTION SET   NODE_=?,   DBVERSION_=?,   ... WHERE DBID_=?   AND DBVERSION_=?

SQL中的版本,显示了自动乐观锁,加入了PVM持久化中 所以流程持久化可以很容易 在多JVM或多机器 环境下使用。

在实例代码中,这里又有一个事务,它与前一个事务 完全相同,从''two''活动到''three''活动 获得了 执行。

所有这个展示了PVM可以在事务中从一个等待状态移动到 另一个等待状态。每个事务对应 一个状态转 移。

注意在自动活动的情况下,多个活动会在执行 到达一个等待状态前被执行。 一般来说这是期望的行 为。一旦自动活动消耗太长时间, 你不希望阻塞原始事务,等待这些自动活动的完成, 参考??? 来 获得它可以如何在流程定义之间将事务划分界限, 这也可以看做是一个流程执行过程中的安全点。

14.5. 业务键

TODO

TODO: 常规的持久化架构

TODO: 对象引用

TODO: 线程,通过分支和结合实现同步

TODO: 缓存

TODO: 流程实例迁移

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号