jBPM-4.0中文开发指南-第13章 执行模式 - 编程入门网
create-drop
hibernate.cache.use_second_level_cache true
hibernate.cache.provider_class org.hibernate.cache.HashtableCacheProvider
# hibernate.show_sql true
hibernate.format_sql true
hibernate.use_sql_comments true
然后你可以从环境工厂中像这样获得服务:
ProcessService的责任是管理流程定义资源。 在我们可以启动一个流程执行之前, 流程定义需要被 发布到流程资源库中。 流程定义可以使用不同的格式和不同的流程语言提供。 一个发布包含了流程定义 信息,从不同的源文件中,像一个ZIP文件, 一个XML文件或一个流程定义对象。 ProcessService.deploy方法会获得一个发布 通过配置在配置文件里的所有发布器。 在这个例子中,我们通过代码方式为发布 提供一个流程定义。
现在流程定义的一个版本保存到数据库中。 check-version发布器会把版本1 分配给存储的流程定义 。create-id发布器 会提取idloan:1 根据流程名称和分配的版本。 再次发布流程会导致在数据库中创建一个新流程定义。 但是一个增加的版本数会被分配。 出于版本 化的目的,如果有相同的名字, 流程定义就会相同。 推荐用户为所有流程执行提供key的引用。 启动一个新流程执行像这样: Execution execution = executionService.startExecution("loan:1", "request7836"); 返回值是一个execution接口,防止关系的向导。 那是因为服务方法外面,事务和hibernate会话没有 保证一直打开。 实际上,上面给出的默认的配置只保证 事务和会话在服务方法执行中是打开的。 所以 服务方法外的关系导航可能引起一个hibernate的 LazyInitializationException. 但是当前的活动名称 还可以被验证。 assertEquals("evaluate", execution.getActivityName()); 生成可以被获得的id也是非常重要的。 默认的id-generator会用来生成流程定义的id 给出的key来为 流程执行生成一个唯一id,像这样: assertEquals("loan:1/request7836", execution.getId()); 那个id必须提供给外部触发器 像这样处理流程执行: executionService.signalExecu |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |