* 注意事项:
(1)与项目中的jar包不能出现冲突
(2)版本应一致
* 项目已经整合了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);
}
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>