1、导入jbpm的jar包
2、删除原有的hibernate和mysql的相关jar包
原因:防止jar冲突,jbpm的jar包已经包括了hibernate和mysql的jar包,并且使用jbpm原生jar包比较适合。
3、导入jbpm.hibernate.cfg.xml和jbpm.cfg.xml配置文件
1、 修改jbpm.cfg.xml文件里的<import resource="jbpm.tx.hibernate.cfg.xml" />为
<import resource="jbpm.tx.spring.cfg.xml" />目的使用spring来管理事务
2、修改jbpm.hibernate.cfg.xml文件里的数据库连接配置,并导入原有的实体映射,注意数据库的方言配置为
org.hibernate.dialect.MySQLDialect不能为MySQLInnoDBDialect(我用的数据库为mysql5.6)否则会出现
org.jbpm.api.JbpmException: no jBPM DB schema: no JBPM4_EXECUTION table. 异常。也不能在
jbpm.hibernate.cfg.xml文件里配置
<propertyname="current_session_context_class">thread</property>
也会报上述异常。
4、修改spring的配置文件
修改sessionFactory的classpath为jbpm.hibernate.cfg.xml的路径
添加<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper">
<property name="jbpmCfg" value="jbpm/jbpm.cfg.xml"></property>
</bean>
<bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" />
jbpm/jbpm.cfg.xml为jbpm.cfg.xml的路径