jbpm教程整合项目

(一) 导入相应的Jar包

* 注意事项:

(1)与项目中的jar包不能出现冲突

(2)版本应一致

* jbpm教程整合项目_第1张图片

* 项目已经整合了SSH2,那么只需要再添加:

jbpm.jar,

juel-api.jar,

juel-engine.jar,

jues-impl.jar,

mail.jar,

livetribe-jsr223.jar即可

* 其中下面三个放到tomcat的lib包目录下,因为这三个包会和tomcat的el-api.jar发生冲突

Juel-api.jar

Juel-engine.jar

Juel-impl.jar

(二) 修改配置文件

1、添加jbpm.cfg.xml文件

文件内容如下

<import resource="jbpm.default.cfg.xml" />

<import resource="jbpm.businesscalendar.cfg.xml" />

<import resource="jbpm.tx.hibernate.cfg.xml" />

<import resource="jbpm.jpdl.cfg.xml" />

<import resource="jbpm.bpmn.cfg.xml" />

<import resource="jbpm.identity.cfg.xml" />

2、因为项目中hibernate.cfg.xml文件与jbpm.hibernate.cfg.xml文件冲突,所以修改hibernate.cfg.xml文件

添加Jbpm所需要的配置文件

<!-- 导入JBPM工作流的映射文件 修改添加工作流-->

<mapping resource="jbpm.repository.hbm.xml" />

<mapping resource="jbpm.execution.hbm.xml" />

<mapping resource="jbpm.history.hbm.xml" />

<mapping resource="jbpm.task.hbm.xml" />

<mapping resource="jbpm.identity.hbm.xml" />

3、 生成JBPM的18张表

@Test

public void createJbpm(){

ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");

SessionFactory sf = (SessionFactory) ac.getBean("sessionFactory");

System.out.println("SessionFactory:"+sf);

}

(三) 整合spring

1、调用流程引擎不再使用

rocessEngine processEngine = Configuration.getProcessEngine();

2、修改jbpm.cfg.xml文件,与spring进行整合的文件

<import resource="jbpm.default.cfg.xml" />

<import resource="jbpm.businesscalendar.cfg.xml" />

<!-- 与spring整合需要 -->

<import resource="jbpm.tx.spring.cfg.xml" />

<import resource="jbpm.jpdl.cfg.xml" />

<import resource="jbpm.bpmn.cfg.xml" />

<import resource="jbpm.identity.cfg.xml" />

3、在spring的配置文件beans.xml中配置ProcessEngine

添加:

<!-- 配置ProcessEngine(与JBPM4.4整合) -->

<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper">

<property name="jbpmCfg" value="jbpm.cfg.xml"></property>

</bean>

<bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" />

4、测试流程引擎对象

@Test

public void testProcessEngine(){

ProcessEngine processEngine = (ProcessEngine)ac.getBean("processEngine");

System.out.println("PorcessEngine:"+processEngine);

}

5、使用流程引擎对象

在Service层使用:

@Resource

private ProcessEngine processEngine;

(四) 服务启动

1、jbpm使用了el表达式的3个jar包,分别是Juel-api.jar,Juel-engine.jar,Juel-impl.jar。这与tomcat的el-api.jar发生冲突

解决:可将tomcat的lib下删除el-api.jar,添加Juel-api.jar,Juel-engine.jar,Juel-impl.jar

2、修改hibernate.cfg.xml文件

<property name="hibernate.dialect">

org.hibernate.dialect.MySQL5Dialect</property>

修改成为:

<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>

你可能感兴趣的:(jbpm教程整合项目)