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