首页 技术 正文
技术 2022年11月14日
0 收藏 936 点赞 4,679 浏览 3082 个字

整合jBPM的目的就是能够通过注入的方式得到ProcessEngine实例,因为ProcessEngine是jbpm 的核心.

整合步骤:

1.新建web程,搭建好SSH2环境

2.导入jbpm相关的两个jar包

jBPM4.4与SSH2整合

3.在Tomcat/lib目录下添加jBPM软件包里的下列三个jar包,并删掉Tomcat/lib下的el-api.jar

jBPM4.4与SSH2整合

这是为了解决jar包的冲突,其实就是换了一下.

4.在web工程的src目录下添加spring-jbpm4.cfg.xml配置文件

spring-jbpm4.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<jbpm-configuration>
<process-engine-context>
<string name="spring.cfg" value="spring-jbpm4.xml" />
</process-engine-context>
<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" /></jbpm-configuration>

上述文件是用来导入jBPM包中的相关配置文件

5.在applicationContext-tx.xml配置文件中的<sessionFactory元素中添加一个属性:告诉Spring实体映射文件的位置,下面的实体映射文件,在我们导入的jBPM的核心jar里已经包含了.我们不用管,只管这样配置就行了.如同配置我们自己写实体类,然后在这里配置实体映射文件一样.

jBPM4.4与SSH2整合

<property name="mappingLocations">
<list>
<value>classpath:jbpm.execution.hbm.xml</value>
<value>classpath:jbpm.history.hbm.xml</value>
<value>classpath:jbpm.identity.hbm.xml</value>
<value>classpath:jbpm.repository.hbm.xml</value>
<value>classpath:jbpm.task.hbm.xml</value>
</list>
</property>

6.在applicationContext-beans.xml中配置jBPM相关,目的是将ProcessEngine纳入Spring管理

<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper">
<property name="jbpmCfg" value="spring-jbpm4.cfg.xml" />
</bean>
<bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" />

注意到jBPM4.4与SSH2整合src目录下的spring-jbpm4.cfg.xml就派上用场了,其作用就不用我说了.

6.经上述几步,整合就已经完成了.下面测试,能否将ProcessEngine注入成功.

编写一个 TestAction类

TestAction.java

package com.xunpoit.action;import org.jbpm.api.ProcessEngine;
import com.opensymphony.xwork2.ActionSupport;public class TestAction extends ActionSupport {
private ProcessEngine processEngine; public ProcessEngine getProcessEngine() {
return processEngine;
} public void setProcessEngine(ProcessEngine processEngine) {
this.processEngine = processEngine;
} @Override
public String execute() throws Exception {
return "SUCCESS";
}}

将我们写的TestAction在struts.xml和applicationContext.bean中配置起来

sturts.xml中的配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"><struts>
<bean class="org.springframework.orm.hibernate3.support.OpenSessionInViewFilter"></bean>
<constant name="struts.objectFactory" value="spring"></constant>
<package name="jBPM_SSH2" namespace="/" extends="struts-default">
<action name="test" class="testAction">
<result name="SUCCESS">/success.jsp</result>
</action>
</package></struts>

application-bean.xml中的配置

<bean id="testAction" class="com.xunpoit.action.TestAction" scope="prototype">
<property name="processEngine" ref="processEngine"></property>
</bean>

编写index.jsp和success.jsp两个页面

index.jsp

<body>
<form action="test.action" method="post">
<input type="submit" value="测试jBPM与ssh2整合"/>
</form>
</body>

success.jsp

<body>
整合成功:<%=request.getAttribute("processEngine")%>
</body>

7.在ssh2环境的配置文件中,我们配置了数据库相关信息,这里就要求我们要创建我们的数据库

jBPM4.4与SSH2整合

jBPM4.4与SSH2整合

8.部署项目,访问index.jsp

注意,项目一部署运行,在我们创建数据库jbpm_ssh2中就会自己看到自动生成了jBPM相关的18张表

jBPM4.4与SSH2整合

访问index.jsp

jBPM4.4与SSH2整合

jBPM4.4与SSH2整合

9.通过上面的测试,证明整合确实成功了,已经通过注入的方式,拿到了ProcessEngine

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,954
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,479
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,291
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,108
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,740
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,774