JBPM4.4(三)——与SSH的集成运用
来源:互联网 发布:mac与虚拟机共享桌面 编辑:程序博客网 时间:2024/05/21 06:31
前边我们讲述了JBPM的个例简单运用,但是如何能够运用到项目中才是我们想要的,所以这篇简单看一下如何将JBPM4.4运用到SSH框架进行使用。
首先说一下集成吧。无论是SSH,SSI等框架的集成,还是将JBPM4.4框架集成进去都是一样的,就是分工明确各司其职,并进行畅通交流即可。这其中Spring起着至关重要的作用。举个不恰当的例子吧,假如将我们的软件看做我们的电脑的话,Spring就好比主板,起着负载其他器件,管理其他器件的重大作用,有点好比大管家的意思。而Struts2可以看做CPU,Hibernate可以看做内存,现在的JBPM也可以看做其中一个比较重要的器械件。也就是说,我们想要将Struts2中的action,Hibernate中的SessionFactory,IBaits中的sqlMapClient,JBPM中的ProcessEngine等各自框架的核心类交给Spring进行创建并管理,这样使框架之间彼此融合了起来,就像一个整体了。
好,看一下如何将JBPM继承到SSH中吧!
一,当然还是先考入jar包,还是哪句话“奔着够用的原则”
jbpm.jar(核心jar包)
lib\(lib目录下的jar,这里添加了一些必要的,像一些测试jar包,日志jar包,在SSH中已经引入了,当然了如果出现了少jar包的情况,再进行导入即可,这些jar功能基本上够了。)
antlr.jar
antlr-runtime.jar
avalon-framework.jar
bsh.jar
core.jar
errai-bus.jar
errai-common.jar
janino.jar
jbpm-bpmn.jar
jbpm-db.jar
jbpm-jboss.jar
jbpm-tomcat6.jar
joda-time.jar
juel-api.jar
juel-engine.jar
juel-impl.jar
livetribe-jsr223.jar
mail.jar
mvel2.jar
oro.jar
activation.jar
二,提供JBPM4.4的配置文件jbpm.cfg.xml,拷贝到src目录下,注意这个名字是SpringHelper类中提供的默认的名称,如果不是这个名称,还需要我们进行配置来覆盖默认的名称,才能起作用。在这个文件还需要加入Spring的引用:找到Spring中JBPM用到的Hibernate映射文件:
<jbpm-configuration> <import resource="jbpm.default.cfg.xml" /> <import resource="jbpm.tx.spring.cfg.xml" /> <import resource="jbpm.jpdl.cfg.xml" /> <import resource="jbpm.bpmn.cfg.xml" /> <import resource="jbpm.identity.cfg.xml" /> <import resource="jbpm.businesscalendar.cfg.xml" /> <import resource="jbpm.console.cfg.xml" /> <import resource="jbpm.jobexecutor.cfg.xml" /> <!-- 注意value的值就是Spring核心配置文件的名称 --> <process-engine-context> <string name="spring.cfg" value="applicationContext.xml" /> </process-engine-context></jbpm-configuration>
三,Spring核心配置文件中添加对JBPM的配置:
<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper"/><bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" /><!-- 为了更方便使用,将processEngine作为一个工厂,创建出相关的Service ,可以在后边直接使用,不需要在每个Sevice中通过processEngine进行创建--><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"/><bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService"/><bean id="managementService" factory-bean="processEngine" factory-method="getManagementService"/><!-- Hibernate核心对象,添加对JBPM的支持,就是将写在Hibernate中的东西搬了过来 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> ……………… <!-- 将JBPM4用到的hibernate映射文件,加入到Spring配置文件中 --> <property name="mappingResources"> <list> <value>jbpm.repository.hbm.xml</value> <value>jbpm.execution.hbm.xml</value> <value>jbpm.history.hbm.xml</value> <value>jbpm.task.hbm.xml</value> <value>jbpm.identity.hbm.xml</value> </list> </property> </bean>
四,问题解决,通过启动Tomcat服务器,会有一些问题,例如sql语句的频繁发送,无法访问应用程序(也就是JBPM和Tomcat之间的冲突)
1,去除控台SQL的发送,将jbpm.cfg.xml中的如下配置进行注释
<!--
<importresource="jbpm.jobexecutor.cfg.xml" />
-->
2,将拷贝的jar包中的juel*.jar剪切到Tomcat的lib目录下,注意是剪切,然后删除TOMCAT/lib/el-api.jar。这是两者的包冲突吧
这样就算集成进去了,我们就可以将JBPM运用到三层架构中了。可以进行流程的部署,流程的实例,流程任务的获取与解决了。当然更加熟悉的运用还需要我们在实践中多锻炼。
- JBPM4.4(三)——与SSH的集成运用
- JBPM4.4(三)——与SSH的集成运用
- JBPM4.4——与SSH的集成运用
- Jbpm4.4集成SSH
- Jbpm4.4集成SSH
- SSH框架集成jbpm4.4
- JBPM4.4(二)——初步运用
- JBPM4.4(二)——初步运用
- jbpm4.4集成入SSH项目中
- jbpm4.4集成入SSH项目中
- JBPM4.4 集成SSH Jar包说明!
- jbpm学习--jbpm4.4 与 ssh框架的整合
- Spring3集成jbpm4.4
- jbpm4.4集成eclipse
- SSH整合JBPM4.4
- SSH整合JBPM4.4
- SSH的原理与运用
- JBPM4.4工作流引擎学习(三)
- 异常机制
- lua字符串库
- 常用图像二值化方法
- jgGrid相关操作--jQuery学习笔记
- 解决npm 的 shasum check failed for错误(npm注册国内镜像介绍)
- JBPM4.4(三)——与SSH的集成运用
- 通用角色和反射机制开发实例控件及实现功能介绍
- win7 ASP.NET 安全选项卡无法打开(无法连接到 SQL Server 数据库)的解决办法
- 黑马程序员_多线程socket聊天室
- The Heartbleed Bug
- [Phonegap+Sencha Touch] 移动开发14 创建wp8项目失败的解决办法
- SqlServer命名规范
- oracle 复制数据 insert into、as select
- UVa 120 - Stacks of Flapjacks