jBPM4工作流引擎 网络知识点整理汇总 高级知识

jBPM的异步执行介绍
jBPM对于所有的流程执行操作默认都是同步的。也就是说,默认是一个活动执行完成后,再执行另一个活动。
如,Task1->Java1->Java2->Task2,在同步的状态下执行,即使Java1活动要耗时一个小时,Java2也会等。但如果在异步的状态下执行,两个任务处于不同的线程中运行,Java2活动不会等待Java1活动结束就直接运行了。
可以通过设置活动的continue属性为async,来表示为异步执行;设置为exclusive表示独占异步执行。
 
jBPM的异步执行通常用在耗时的自动活动上,会自动生成Job
n手工执行Job的api如下
ManagementService ms = engine.getManagementService();
ms.executeJob(job.getId());
 
jBPM默认使用的是JobExecutor组件来实现Job的执行
要开启这个功能非常简单,只需要在jbpm.cfg.xml中导入jbpm.jobexecutor.cfg.xml文件即可,如下:
<import resource="jbpm.jobexecutor.cfg.xml" />
n准备好lib包(ssh+jBPM)
目前用的lib包中各个部分的版本是:struts2.2.1 + spring3.1 + hibernate3.3.1GA(就是jBPM4.4带的那个)+jBPM4.4
 
jBPM和Spring3集成的步骤
1:参考jbpm-4.4/install/src/cfg/hibernate/jdbc/oracle.hibernate.cfg.xml来修改jbpm.hibernate.cfg.xml
2:参考jbpm-4.4/install/src/cfg/spring/applicationContext.xml来修改应用的applicationContext.xml
3:参考jbpm-4.4/install/src/cfg/jbpm/spring.jbpm.cfg.xml来修改jbpm.cfg.xml。
 
Struts2+Spring3+Hibernate3的集成仍然跟以前一样,只是cfg部分放到jbpm.hibernate.cfg.xml中了
关于drools
前面的lib包中已经包含的drools运行相关的包,但是在使用的时候,和Spring集成与不集成,方式会有些变化。
集成过后,在Eclipse中运行带有drools的流程前,需要添加下面这句话:
System. setProperty("drools.dialect.java.compiler","JANINO");
否则会报如下错误:
The Eclipse JDT Core jar is not in the classpath
 
注意:Web下运行,不需要添加上面这句话。

你可能感兴趣的:(jbpm)