ssh2 整合jbpm
2011-04-15 14:21
344 查看
这个礼拜一直在研究jbpm4.4,没事写写东西希望能对看帖的人一些帮助。。。
好了废话不多说了 下面就跟我一起把jbpm整合到ssh2框架中吧!!!
整合前,很有必要先对JBPM有个感性的认识。JBPM在管理流程时,是需要数据库表的支持的,因为底层的逻辑有那么复杂。默认下载下来的配置,使用的是内存数据库。实际应用中,我们就需要连接到我们的数据库里来。所以要事先建好相关的表,相应的sql文件在/jbpm-4.4/install/src/db下,当然,你也可以使用hibernate的hibernate.hbm2ddl.auto自动建表,本人建议自己用建表语句。
研究过JBPM的人都知道,JBPM在操作流程时,一切都是基于ProcessEngine对象,所以整合的思路很简单,只要我们能让Spring创建出ProcessEngine,整合就算是迈出一大步,我们先在spring配置文件(applicationContext.xml)里加入如下代码:
<!--jbpm4.4工作流 -->
<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper">
<property name="jbpmCfg" value="jbpm.cfg.xml" />
</bean>
<bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" />
在这里创建processEngine 对象,在这里用到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" />
<!--
<import resource="jbpm.jobexecutor.cfg.xml" />
-->
</jbpm-configuration>
看到这里,或许你又会问:spring-jbpm4.cfg.xml里又引用了那么多的文件,这些文件在哪里?这些文件,你不用担心,他们都在jbpm.jar文件里,这不是我们管的事。
到这里,算完了吗?还没有!前面说过,JBPM要数据库表的支持才能工作,JBPM又是使用Hibernate操作数据库,就不免要配置Hibernate的表与实体的映射文件,如下:
<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>
如果用的是mysql数据库的话那么就要把hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
否则的话会出现问题的
哈哈,到此,整合所需要做的配置,就是这些了,关键一步走完了,是不是很简单呢?
下面一步,就是jar包的添加,如果你已经整合了SSH2,那么你只需要再添加jbpm.jar, juel-api.jar,juel-engine.jar,juel-impl.jar,mail.jar即可
注:如果您用的是tomact6.0以上版本的话就必须把juel-api.jar,juel-engine.jar,juel-impl.jar这三个jar包添加到tomact的lib里删除原来的el-api.jar
如果你还是用的是tomact5的话就直接把这些jar添加到项目的lib下就可以了
我们部署到tomcat跑一下,看是否能成功。跑起来后,我们再做下测试,新建一个action,看代码里能否获取到processEngine对象。
public class TestAction extends ActionSupport
{
private ProcessEngine processEngine;
public ProcessEngine getProcessEngine()
{
return processEngine;
}
/**
* 测试是否整合成功
*/
public String testJbpm()
{
System.out.println("整合成功");
System.out.println("processEngine: "+processEngine);
return SUCCESS;
}
public void setProcessEngine(ProcessEngine processEngine)
{
this.processEngine = processEngine;
}
}
哈哈。整合完毕!
好了废话不多说了 下面就跟我一起把jbpm整合到ssh2框架中吧!!!
整合前,很有必要先对JBPM有个感性的认识。JBPM在管理流程时,是需要数据库表的支持的,因为底层的逻辑有那么复杂。默认下载下来的配置,使用的是内存数据库。实际应用中,我们就需要连接到我们的数据库里来。所以要事先建好相关的表,相应的sql文件在/jbpm-4.4/install/src/db下,当然,你也可以使用hibernate的hibernate.hbm2ddl.auto自动建表,本人建议自己用建表语句。
研究过JBPM的人都知道,JBPM在操作流程时,一切都是基于ProcessEngine对象,所以整合的思路很简单,只要我们能让Spring创建出ProcessEngine,整合就算是迈出一大步,我们先在spring配置文件(applicationContext.xml)里加入如下代码:
<!--jbpm4.4工作流 -->
<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper">
<property name="jbpmCfg" value="jbpm.cfg.xml" />
</bean>
<bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" />
在这里创建processEngine 对象,在这里用到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" />
<!--
<import resource="jbpm.jobexecutor.cfg.xml" />
-->
</jbpm-configuration>
看到这里,或许你又会问:spring-jbpm4.cfg.xml里又引用了那么多的文件,这些文件在哪里?这些文件,你不用担心,他们都在jbpm.jar文件里,这不是我们管的事。
到这里,算完了吗?还没有!前面说过,JBPM要数据库表的支持才能工作,JBPM又是使用Hibernate操作数据库,就不免要配置Hibernate的表与实体的映射文件,如下:
<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>
如果用的是mysql数据库的话那么就要把hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
否则的话会出现问题的
哈哈,到此,整合所需要做的配置,就是这些了,关键一步走完了,是不是很简单呢?
下面一步,就是jar包的添加,如果你已经整合了SSH2,那么你只需要再添加jbpm.jar, juel-api.jar,juel-engine.jar,juel-impl.jar,mail.jar即可
注:如果您用的是tomact6.0以上版本的话就必须把juel-api.jar,juel-engine.jar,juel-impl.jar这三个jar包添加到tomact的lib里删除原来的el-api.jar
如果你还是用的是tomact5的话就直接把这些jar添加到项目的lib下就可以了
我们部署到tomcat跑一下,看是否能成功。跑起来后,我们再做下测试,新建一个action,看代码里能否获取到processEngine对象。
public class TestAction extends ActionSupport
{
private ProcessEngine processEngine;
public ProcessEngine getProcessEngine()
{
return processEngine;
}
/**
* 测试是否整合成功
*/
public String testJbpm()
{
System.out.println("整合成功");
System.out.println("processEngine: "+processEngine);
return SUCCESS;
}
public void setProcessEngine(ProcessEngine processEngine)
{
this.processEngine = processEngine;
}
}
哈哈。整合完毕!
相关文章推荐
- JBPM4.4整合SSH2项目
- ssh2 整合jbpm
- JBPM4.4与SSH2的整合
- SSH2+JBPM4.4 整合常见错误
- jbpm4.4与ssh2整合
- 利用JBPM4.4的AssignmentHandler实现用户角色整合另一种构思
- SSH2+mySQL整合项目,在由一个名为A的DB,转到B的DB时,项目还是连到之前的A数据库之原因
- 利用JBPM4.4的AssignmentHandler实现用户角色整合另一种构思
- jbpm4.2与spring整合(2009-11-22 00:50:14)标签:jbpm4.2 spring it
- 使用 MyEclipse 10 搭建 SSH2 框架整合开发环境
- spring+SpringMVC+mybati整合JBPM
- Myeclipse10整合ssh2(struts2.1+spring3.1+hibernate4.1)+零注解零配置
- ssh2整合记录
- (ssh2整合)log4j.xml
- Spring与jbpm的整合
- jbpm各种用法和spring整合
- ssh2框架整合
- cxf2.6.*+jdk1.6.10+ssh2整合
- SSH2框架整合小案例
- jbpm4.4 hibernate4 的兼容整合