在jbpm4的项目中,在下面的网址中看到了简单集成spring 和 jbpm4的集成方法。
http://www.slideshare.net/guest8d4bce/spring-integration-with-jbpm4
jbpm4的分支中已经有了集成的代码
http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbpm_svn/jbpm4/branches/ainze/
唯一的遗憾就是代码目前还没有和最新的代码同步,于是乎就简单的对这两块代码先做了些合并工作.
数据库:mysql
集成项:spring2.5 hibernate3.3 jbpm4
相关的类:
org.jbpm.pvm.internal.cfg.JbpmConfiguration (其中的buildProcessEngine方法 有些东西没有合并进去,可能会有些问题 ,有兴趣的可以探寻下)
org.jbpm.pvm.internal.cfg.SpringConfiguration(Tom Baeyens在TODO中,这个是ainze写的)
org.jbpm.pvm.internal.env.SpringPvmEnvironment(ainze)
org.jbpm.pvm.internal.spring.SpringConfigurationFactoryBean(ainze)
(jbpm.cfg.xml中只需要注释掉hibernate的配置即可)
spring 配置--使用了SpringConfigurationFactoryBean(调整自ainze)的方式配置时 这个就是spring集成的最简配置
<!-- jbpm4配置 -->
<bean id="configuration" class="org.jbpm.spring.cfg.SpringConfigurationFactoryBean">
<property name="jbpmConfigurationLocation" value="jbpm.cfg.xml"></property>
<property name="sessionFactory" ref="sessionFactory" />
</bean>
测试代码--org.jbpm.spring.test.AbstractTransactionalSpringJbpmTestCase(author Andries Inze)
public class SimpleProcessTest extends AbstractTransactionalSpringJbpmTestCase{
@Override
protected String[] getConfigLocations() {
return new String[]{"classpath:test-context-hibernate.xml"};
}
public void test1(){
deployJpdlXmlString(
"<process name='p'>"
+ " <start>"
+ " <transition to='a'/>"
+ " </start>"
+ " <state name='a'>"
+ " <transition to='b'/>"
+ "</state>"
+ " <state name='b'>"
+ " <transition to='c'/>"
+ "</state>"
+ " <state name='c'/>"
+ "</process>");
Execution execution = executionService.startProcessInstanceByKey("p");
execution = executionService.findExecutionById(execution.getId());//.findExecution(execution.getId());
assertNotNull(execution);
assertEquals("a", execution.getActivityName());
//a流向b
execution = executionService.signalExecutionById(execution.getId());
assertNotNull(execution);
assertEquals("b", execution.getActivityName());
//b流向c
execution = executionService.signalExecutionById(execution.getId());
assertNotNull(execution);
assertEquals("c", execution.getActivityName());
//再次启动流程
execution = executionService.startProcessInstanceByKey("p");
//第三次启动流程
execution = executionService.startProcessInstanceByKey("p");
assertEquals(3,executionService.createProcessInstanceQuery().list().size());
}
}
- db.rar (2.2 KB)
- 描述: 修改后的mysql数据库脚本
- 下载次数: 378
- src.rar (2.1 MB)
- 描述: 合并后的代码
- 下载次数: 718
- lib.rar (7.9 MB)
- 描述: 编译jbpm4-spring依赖的jar包
- 下载次数: 1515
- 描述: 实际项目中的lib依赖
- 大小: 11.7 KB
分享到:
相关推荐
将jbpm4集成到Spring中,可以充分利用Spring的管理优势,提高流程服务的可测试性和可配置性。 在“jbpm4 集成 spring”的场景中,我们需要关注以下几个关键知识点: 1. **集成配置**:首先,我们需要在Spring的...
Spring与JBPM4的集成 Spring框架和JBPM4的集成是指将Spring框架与JBPM4业务流程管理系统集成,以便更好地管理业务流程和工作流程。这种集成可以提供更加灵活和高效的业务流程管理解决方案。 知识点1:为什么需要...
Spring 和 JBPM 集成是一项关键的技术任务,它允许开发者在基于 Spring 的应用程序中无缝地集成业务流程管理(BPM)功能。JBPM 是一个开源的 BPM 解决方案,提供工作流服务、流程建模、执行和监控等功能。下面我们将...
Struts、Hibernate、Spring 和 jBPM 是四个在企业级应用开发中广泛使用的开源框架,它们结合在一起可以构建出高效且灵活的智能工作流系统。下面将分别介绍这些技术及其在工作流系统中的作用。 **Struts** Struts 是...
在IT领域,特别是Java开发社区,Spring框架与JBPM(Job Batch Process Model)的集成是一项关键技术,用于构建复杂的企业级应用程序。本文旨在深入探讨如何实现Spring与JBPM的集成,以及这一过程所需的必要组件和...
1. **引入Spring-JBPM4依赖**:Spring社区提供了Spring-JBPM4模块,可以直接集成到Spring应用中。添加相应的Maven或Gradle依赖。 2. **配置jbpmContext**:创建一个jbpmContext的bean,它会自动配置jBPM4所需的服务...
- `jbpm-4.3/install/src/cfg/jbpm/spring.jbpm.cfg.xml`:JBPM与Spring集成的关键配置文件。 #### 三、配置文件调整 接下来,我们将对这些配置文件进行必要的修改。 1. **调整`hibernate.cfg.xml`**:在`...
4. **事务集成**:由于Spring和JBPM4都管理事务,我们需要配置它们之间的协调。通常,我们设置Spring的PlatformTransactionManager为JtaTransactionManager,使两者共享事务管理。 5. **监听器和事件处理**:JBPM4...
JBPM可以与Java EE或Spring等框架集成,提供可视化的工作流设计、流程监控和执行等功能。 3. **整合原理**:Spring与JBPM的整合主要基于Spring的bean管理和事务管理能力。通过Spring的ApplicationContext,我们可以...
### Spring与JBoss JBPM工作流集成开发指南 #### 一、引言 随着信息技术的发展,企业越来越依赖于高效的工作流管理系统来优化业务流程。工作流管理系统能够支持或自动化业务过程的一部分或全部,通过计算机化的...
SSH集成JBPM4是一个关于将Spring、Struts2和Hibernate(SSH)这三大Java Web开发框架与Business Process Management System(BPM,业务流程管理系统)JBPM4整合的项目实例。SSH是Java领域常用的轻量级MVC框架组合,...
【jbpm与Spring集成】是企业级应用中常见的技术整合,旨在利用jbpm(Java Business Process Management)的流程管理能力,结合Spring框架的灵活服务管理,实现高效、可扩展的业务流程自动化。jbpm是一个开源的工作流...
标题与描述提到的“Spring-Jbpm-JSF-Example.pdf”是一个示例项目,展示了如何将Spring框架、Jbpm工作流引擎和JSF(JavaServer Faces)技术集成在一起。此项目通过一个简单的应用实例,演示了如何运行基本的工作流程...
文件可能包含了项目的源代码、配置文件、数据库脚本等资源,可以帮助你理解如何将jbpm与Spring集成到实际的OA系统中。通过对这个项目的学习,你可以深入理解jbpm的流程设计、Spring的整合技巧以及如何在企业应用中...