我集成的项目是springMVC+hibernate4,spring的版本是3。
整体思路是封装jbpm工作流引擎的api,提供给业务,封装jbpm工作流的类起名叫JbpmUtil,JbpmUtil可以交给spring管理,也可以在业务中手动new。交给spring管理的话,数据库连接也需要交给spring。我在项目中是采用的手动new的方法。所以jbpm和spring是没有整合的,jbpm4.3和hibernate4整合是有问题的,因为jbpm4.3引擎开发底层是用hibernate3,hibernate3支持的一些方法在hibernate4中不再支持,所以需要在jbpm4.3.jar中修改部分调用hibernate的方法。
1、在JbpmUtil中调用底层API
JbpmUtil 类将业务中用到的底层jpbm API封装,为业务提供处理流程的方法。
在Jbpm中所有的操作流程方法都是基于六个service:RepositoryService、ExcutionService、ManagermentService、TaskService、HistoryService、IdentityService。关于这六个service参考博客地址 。
其中这六大service又是基于org.jbpm.api.ProcessEngine类,获取ProcessEngine有两种方式
ProcessEngine processEngine = Configuration.getProcessEngine();
ProcessEngine processEngine = new Configuration().setResource("jbpm.cfg.xml").buildProcessEngine();
两种方式的区别在于调用hibernate的session,第一种采用连接池方式,效率高,第二种每次都重新加载连接池,很快资源会用完,所以采用第一种方式。
jbpm.hibernanate.cfg.xml 配置数据库连接,建议放在src根目录下。
2、jbpm4.3集成hibernate4的改动
具体遇到哪些坑忘记了,由于没有及时记录,但是所有问题网上都有解决办法^_^
如果整合过程中有问题,可以留言交流