JBPM与OA的集成:
1、拷贝JBPM有关的依赖包
2、配置文件(JBPM如何与SPRING集成)
- 将jbpm.cfg.xml配置文件拷贝到OA项目的类路径根目录下
- 修改其中的
<import resource="jbpm.tx.hibernate.cfg.xml" />
为
<import resource="jbpm.tx.spring.cfg.xml" />
- 在Spring配置文件中,定义ProcessEngine、ExecutionService、TaskService等等对象
<!-- 定义SpringHelper,用于创建各种JBPM有关的对象 -->
<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper">
<!-- 指定JBPM配置文件所在的位置 -->
<property name="jbpmCfg" value="jbpm.cfg.xml"></property>
</bean>
<!-- 通过SpringHelper创建ProcessEngine对象 -->
<bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" />
<!-- 通过SpringHelper创建各种JBPM的服务对象 -->
<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
<bean id="executionService" factory-bean="processEngine" factory-method="getExecutionService" />
<bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
<bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
3、JBPM相关的数据库表集成
- 拷贝JBPM映射文件的配置到OA里面即可
<value>jbpm.execution.hbm.xml</value>
<value>jbpm.history.hbm.xml</value>
<value>jbpm.identity.hbm.xml</value>
<value>jbpm.repository.hbm.xml</value>
<value>jbpm.task.hbm.xml</value>
4、使用
- JBPM的各种服务对象已经被Spring管理起来,所以,在需要用到JBPM的各种服务对象的时候,直接注入即可
- 在JBPM的流程定义文件中,也可以直接注入各种Spring中的服务对象
5、JBPM4与TOMCAT6的包冲突
- JBPM4用juel.jar/juel-engine.jar/juel-impl.jar这三个包解释EL表达式
- TOMCAT6目录下有一个el-api.jar与JBPM4的包产生了冲突
- 解决方法:
* 把el-api.jar包删除
* 将上述三个包:juel-*.jar,从WEB-INF/lib目录下剪切到TOMCAT6/lib下面即可
6、把hibernate的数据库方言改为:
- org.hibernate.dialect.MySQLInnoDBDialect