JBPM4.4与SSH2的整合
2019独角兽企业重金招聘Python工程师标准>>>
刚来上班不久,老总就让我去研究jBPM这个框架,因为从来没有接触过这个框架,所以在结合网上的一些资料整理了一下jBPM与SSH2的整合;
想要让JBPM4.4与SSH2进行整合,首先肯定是要先让SSH2整合好,那是必须的。其实也就是与Spring之间的整合了,因为有去研究过jBPM的人都知道,jBPM本来就是使用了Hibernate来实现存储流程的,而Struts的压根就与jBPM撤不上什么关系.
整合前,很有必要先对JBPM有个认识。JBPM在管理流程时,是需要数据库表的支持的,因为底层的逻辑有那么复杂。默认下载下来的配置,使用的是内存数据库。实际应用中,我们就需要连接到我们的数据库里来。所以要事先建好相关的表,相应的sql文件在\jbpm-4.4\install\src\db下;
JBPM在操作流程时,一切都是基于ProcessEngine对象,所以整合的思路很简单,只要我们能让Spring创建出ProcessEngine,整合就算是迈出一大步,我们先在spring配置文件(applicationContext.xml ,也就是相当于spring注册bean)里加入如下代码
Java代码
1. <!--jbpm4.4工作流 -->
2. <bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper">
3. <property name="jbpmCfg" value="spring-jbpm4.cfg.xml" />
4. </bean>
5. <bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" />
在这里创建processEngine 对象,在这里用到jbpm.cfg.xml,它的内容如下:
Java代码
1. <?xml version="1.0" encoding="UTF-8"?>
2. <jbpm-configuration>
3. <process-engine-context>
4. <string name="spring.cfg" value="spring-jbpm4.xml" />
5. </process-engine-context>
6. <import resource="jbpm.default.cfg.xml" />
7. <import resource="jbpm.tx.spring.cfg.xml" />
8. <import resource="jbpm.jpdl.cfg.xml" />
9. <import resource="jbpm.bpmn.cfg.xml" />
10. <import resource="jbpm.identity.cfg.xml" />
11. <import resource="jbpm.businesscalendar.cfg.xml" />
12. <import resource="jbpm.console.cfg.xml" />
13. <!--
14. <import resource="jbpm.jobexecutor.cfg.xml" />
15. -->
16. </jbpm-configuration>
jbpm.cfg.xml里又引用了那么多的文件,这些文件在哪里?这些文件,他们都在jbpm.jar文件里,这不是我们管的事。
到这里,还没有完!前面说过,JBPM要数据库表的支持才能工作,JBPM又是使用Hibernate操作数据库,就不免要配置Hibernate的表与实体的映射文件,如下:
Java代码
1. <property name="mappingLocations">
2. <list>
3. <value>classpath:jbpm.execution.hbm.xml</value>
4. <value>classpath:jbpm.history.hbm.xml</value>
5. <value>classpath:jbpm.identity.hbm.xml</value>
6. <value>classpath:jbpm.repository.hbm.xml</value>
7. <value>classpath:jbpm.task.hbm.xml</value>
8. </list>
9. </property>
我这里直接使用的spring管理,没使用hibernate.cfg.xml; 有兴趣可以自己试试;上面的这些
*.hbm.xml文件又是在jbpm.jar里的,我们只管加载就行。 到此,整合所需要做的配置,就是这些了,
关键一步走完了;
下面一步,就是jar包的添加,如果你已经整合了SSH2,那么你只需要再添加jbpm.jar,juel-api.jar,
juel-engine.jar,juel-impl.jar,mail.jar即可;
所需包
1. jbpm.jar
2. mail.jar
下面三个放到tomcat的lib目录下,因为这三个包会和tomcat的el-api.jar
转载于:https://my.oschina.net/wuchongchang/blog/11276
JBPM4.4与SSH2的整合相关推荐
- SSH2完美整合流程
SSH2完美整合流程 2012-01-13 12:52来源:站长之家 教程流程是重点,应熟练掌握.本教程做简单的账号注册演示,所用工具:Myeclipse-6.5.Struts-2.2.3.Hiber ...
- java web ppt_javawebppt演讲
大气精美-javaweb答辩ppt.论文答辩PPT模板,毕业答辩PPT模板,学术报告PPT,开题报告PPT,课题研究PPT,学术 论文PPT,精美PPT,原创PPT. ... 第1讲JavaWeb应用 ...
- webmagic采集CSDN的Java_WebDevelop页面
项目中使用到了webmagic,采集论坛一类的页面时需要一些特殊的配置.在此记录一下 先来看看我要采集的页面 点击第2页可以看到它的url是http://bbs.csdn.net/forums/Jav ...
- Struts2学习之------Struts2的详细的复习讲解
Struts2的复习 开发struts2所需要的包 Struts2的启动配置 Struts2的配置文件是放在src的目录下,但是struts1的配置文件是放在WEB-INF的目录下 Struts2的s ...
- JBPM4.4整合SSH2项目
一:导入相应的jar包: *注意事项: (1).与项目中的jar包不能出现冲突 (2).版本应一致 jbpm-bpmn.jar jbpm-console-form-plugin.jar jbpm-co ...
- SSH2整合完整案例(四十三)
注解配置:Struts2+Spring2.5+Hibernate3.3+Oracle11g 本文介绍 1.Struts2+Spring2.5+Hibernate3.3的整合 2.采用单元测试 3.加入 ...
- SSH2整合完整案例
注解配置:Struts2+Spring2.5+Hibernate3.3+Oracle11g 本文介绍 1.Struts2+Spring2.5+Hibernate3.3的整合 2.采用单元测试 3.加入 ...
- 利用JBPM4.4的AssignmentHandler实现用户角色整合另一种构思
Jbpm4提供的IdentitySession接口并不是一种很好的处理方式,鉴于我们每个业务系统都有一套自己的用户及权限认证管理机制,需要与jbpm4.4集成的话,就比较周折了,我们经常需要查询的就是 ...
- java spring orm jbpm_spring整合jbpm4
整合步骤: * 导入jbpm的jar包 * 删除db和hibernate的jar包 * 在config下创建一个配置文件 config/jbpm jbpm.cfg.xml jbpm.hiberna ...
最新文章
- 2018年中国人工智能100强研究报告
- Python中读取、显示和保存图片的方法
- mongodb安装失败与解决方法(附安装教程)
- 使用SharedPreferences进行数据存储
- win8桌面壁纸路径
- 在python IDLE里执行py文件
- -bash: /tyrone/jdk/jdk1.8.0_91/bin/java: cannot execute binary file
- Java集合框架:Collections工具类
- android+rom+bootloader+flash,Android ROM开发(4) bootloader 三种启动模式
- 【3】SCN-Hystrix熔断器
- 计算机专业未来希望,中国人才最紧缺的6个大学专业,希望你不要错过。
- 如何解决iOS界面操作导致导致NSTimer暂停计时的问题?
- 华为管理学案例分析_案例分析 华为——基于价值、围绕结果展开的绩效考核...
- 2019-07-10
- BZOJ-1507 文本编辑器(Editor)
- 这是用过的最差树形插件
- Android编码规范
- android+ios打印机,Android/iOS手机安装HP打印机的详细方法和操作步骤
- 名人漏网之语 --联合早报2007-01-28
- c++builder读取系统时间Now函数
热门文章
- Java 必须掌握的 12 种 Spring 常用注解!
- 如何为 Python 添加远程调试能力而不修改系统代码
- Hadoop SequenceFile BLOCK压缩类型写入数据机制
- 【栈】日志分析(BSOJ2981)
- 错误代码为0xC000218,0x00000051的蓝屏错误,或是提示 System32/config missing之类的注册表错误...
- turtlebot3安装遇到的问题总结
- 如何定义研发KPI:以团队速度为标准
- percona-5.5安装笔记
- POJ -1573 Robot Motion
- WPF拖放功能实现zz