标题:spring和jbpm事务整合问题
1楼
xunclapton 发表于:2010-9-10 21:31:21
按照手册中整合了jbpm,可以运行,但是测试发现事务没有整合到一起
比如用spring声明了 OrderServiceImp 中takeOrder采用事务管理,如果手工地抛出一个runtimeException,只有我自己管理的数据库事务会回滚,但jbpm的事务没有被回滚。
比如执行下面的代码,会发现order1并没有被提交,符合期望
但在数据库中可以看到这个processInstance被创建,而且执行正常,相关history表中也有相应记录
而我期望的是jbpm的数据要和业务的数据统一提交或回退
public class OrderServiceImp extends HibernateDaoSupport implements OrderService{
public void takeOrder(Order order1, Order order2) {
getHibernateTemplate().save(order1);
ProcessInstance processInstance = executionService
.startProcessInstanceByKey("StateSequence");
Execution executionInA = processInstance.findActiveExecutionIn("a");
processInstance = executionService.signalExecutionById(executionInA
.getId());
if(true)
throw new RuntimeException();
getHibernateTemplate().save(order1);
}
}
2楼
xyz20003 发表于:2010-9-11 8:31:13
需要使用aop,将tx配置在takeOrder()方法这一层,而不是让hibernateTemplate自动管理,为每次save()打开一个tx。
3楼
xunclapton 发表于:2010-9-12 0:55:09
是在takeOrder上配置了tx的,所以才很疑惑
最后发现是犯了一个低级错误,初始化executionService这些jbpm service时重新new了一个ApplicationContext,这样就搞了两个容器,当然事务不能整合了
第一次用spring,汗。。。
分享到:
相关推荐
3. **整合原理**:Spring与JBPM的整合主要基于Spring的bean管理和事务管理能力。通过Spring的ApplicationContext,我们可以配置和管理JBPM的相关组件,如流程引擎、数据源、事务管理器等。同时,Spring的AOP可以用来...
2. **调整`applicationContext.xml`**:`applicationContext.xml`是Spring的核心配置文件,在这里我们需要配置数据源、事务管理器以及JBPM的相关组件。示例代码如下: ```xml <bean id="dataSource" class="org....
总的来说,Spring与JBPM的整合涉及到环境配置、流程设计、依赖管理和事务集成等多个方面。通过精心的配置和设计,开发者可以利用这两个强大的工具构建出灵活、高效且易于维护的业务流程管理系统。
8. **异常处理和事务管理**:由于Spring和jBPM都支持事务管理,确保在异常发生时能够正确回滚事务是非常重要的。配置Spring的事务管理器,并确保与jBPM的事务配置相协调。 9. **规则集成**:jBPM集成了Drools规则...
Spring 和 JBPM 集成是一项关键的技术任务,它允许开发者在基于 Spring 的应用程序中无缝地集成业务流程管理(BPM)功能。JBPM 是一个开源的 BPM 解决方案,提供工作流服务、流程建模、执行和监控等功能。下面我们将...
通过JBPM4.4、Spring和EXT的整合,可以构建出一个功能完善、易用性强的流程管理系统,不仅能够有效地管理业务流程,还能提供直观的用户界面,提升用户体验。这种整合方式在现代企业级应用中具有很高的实用价值。
Struts、Hibernate、Spring 和 jBPM 是四个在企业级应用开发中广泛使用的开源框架,它们结合在一起可以构建出高效且灵活的智能工作流系统。下面将分别介绍这些技术及其在工作流系统中的作用。 **Struts** Struts 是...
在这个版本中,Jbpm与Spring框架和Hibernate ORM工具进行了整合,实现了更加灵活和高效的企业级应用开发。 **1. Jbpm简介** Jbpm4.4是Jbpm系列的一个版本,它主要负责处理业务流程的建模、执行、管理和监控。它支持...
- **事务管理**:Spring的事务管理器可以与JBPM的事务管理相结合,确保流程操作的原子性和一致性。 - **AOP集成**:Spring的AOP可以在流程执行的关键点添加拦截器,实现日志记录、权限检查等功能。 - **Bean管理**:...
将JBPM4与Spring进行整合,可以充分利用Spring的灵活性和JBPM4的流程管理能力,构建高效且可扩展的OA(Office Automation)工作流系统。 在"风中叶老师讲的JBPM4与Spring整合例子代码"中,我们可以了解到如何将这两...
- **数据源管理**:Spring可以管理多种数据源,与Hibernate整合时,提供事务支持和Session工厂。 4. **Hibernate3.3**: - **ORM**:Hibernate将Java对象映射到数据库表,简化了数据库操作。 - **查询语言**:...
近期网上有人介绍jBPM4与Spring整合的2种方式,但没有人贴出代码,闲着无聊写了个例子,源码见附件,在WEBLOGIC下运行正常,事务由spring控制http://ip:7001/Spring/helloWorld.do
将jBPM4与Spring整合,可以充分利用Spring的依赖注入和管理能力,提升jBPM4的可维护性和灵活性。本文将详细介绍两种整合jBPM4与Spring的方法。 **方法一:基于Spring的Bean定义** 1. **配置jBPM4的数据源**:在...
### Spring + Hibernate + jBPM 整合知识点详解 #### 一、项目背景与整合目的 在企业级应用开发中,通常需要实现业务流程管理、数据持久化以及服务层等功能。Spring框架因其强大的依赖注入(DI)和面向切面编程...
【jbpm+spring配置】是将业务流程管理(Business Process Management, BPM)框架jbpm与企业级应用开发...通过对这个项目的学习,你可以深入理解jbpm的流程设计、Spring的整合技巧以及如何在企业应用中实现流程自动化。
在这个场景中,我们关注的是如何将Spring框架与JBPM(Business Process Management,业务流程管理)、日志记录、数据库以及ehcache缓存系统进行整合。这些组件在实际应用开发中扮演着至关重要的角色。下面将详细阐述...
Jbpm通过Spring的IoC(Inversion of Control)容器来管理其bean,使得流程实例的创建、事务处理和异常管理等都可以由Spring来控制。这不仅简化了代码,还提高了系统的可测试性和可维护性。 在开始整合之前,你需要...
- **IOC容器统一**:jbpm4有自己的IOC容器,但在与Spring集成时,我们通常会将jbpm4的服务迁移到Spring的IOC容器中,利用Spring的强大功能进行服务管理和事务处理。 - **Spring事务管理**:Spring提供了声明式事务...