`
miqingyang
  • 浏览: 4290 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

SSH+JBPM事务整合

阅读更多
前段时间用jbpm做了个项目,花了很多时间来处理和spring的事务整合,找了很多资料都不是很全,贴段代码,希望对大家有帮助。
jbpm.cfg.xml文件这个地方改一下,关掉jbpm事务:
<service name="persistence" factory="org.jbpm.persistence.db.DbPersistenceServiceFactory">
    	<factory> 
			<bean class="org.jbpm.persistence.db.DbPersistenceServiceFactory"> 
				<field name="isTransactionEnabled"><false/></field> 
				<field name="isCurrentSessionEnabled"><true/></field> 
			</bean> 
		</factory> 
    </service>


spring配置文件:
<bean id="jbpmConfiguration" class="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean"> 
		<property name="sessionFactory" ref="sessionFactory" /> 
		<property name="configuration" value="classpath:jbpm.cfg.xml" /> 
</bean> 
<bean id="jbpmTemplate" class="org.springmodules.workflow.jbpm31.JbpmTemplate"> 
		<constructor-arg index="0" ref="jbpmConfiguration" /> 		
</bean> 
<bean id="applyDao" parent="txProxyTemplate">
		<property name="target">
		   <bean class="com.hljt.daos.impl.ApplyDaoImpl">
		      <property name="jbpmTemplate">
			     <ref bean="jbpmTemplate" />
		      </property>
		   </bean>
		</property>
	</bean>

由于springmodules里面封装的方法很少,很多方法需要接口回调(估计是叫这个我对这些名词不太了解),举个例子:
private JbpmTemplate jbpmTemplate;
public void save(final TbApply apply,TbUser user) {
    this.jbpmTemplate.execute(new JbpmCallback(){
			public Object doInJbpm(JbpmContext context)throws JbpmException {
				ProcessDefinition pd = context.getGraphSession().findLatestProcessDefinition("apply");
				ProcessInstance pi = pd.createProcessInstance();
				pi.getContextInstance().setVariable("issueUser",
						apply.getTbuser().getName());
				TaskInstance ti = pi.getTaskMgmtInstance().createStartTaskInstance();
				ti.setActorId(apply.getTbuser().getName());
				ti.setVariable("applyId", apply.getId());
				ti.end();
				context.save(pi);
				return null;
			}
		});
}


这个东西我测试过了,事务的确整合到了一起。
分享到:
评论
1 楼 liu9822 2009-11-12  
哥们--还能说详细点。想参考下你的demo

相关推荐

    ssh+jbpm5.4 (2)

    SSH+jBPM5.4是一个基于Java的企业级应用开发框架组合,主要涵盖了Spring、Struts和Hibernate这三大组件,以及业务流程管理(Business Process Management,简称BPM)工具jbpm5.4。这个项目组合提供了从表现层到数据...

    ssh+jbpm整合好的demo

    SSH+JBPM整合是一个在Java开发领域常见的技术组合,用于构建复杂的业务流程管理系统。SSH代表Struts2、Spring和Hibernate,它们分别是MVC框架、依赖注入容器和对象关系映射库,而JBPM则是一个开源的工作流和业务流程...

    SSH+JBPM4.3的整合 JBPM4.3

    SSH+JBPM4.3的整合是企业级应用开发中的一种常见组合,SSH指的是Spring、Struts和Hibernate这三个开源框架的集成,而JBPM4.3则是一个强大的工作流管理系统,用于实现业务流程自动化。这篇内容将深入探讨这两个技术...

    ssh+jbpm整合实力

    SSH框架的整合使得开发者能够利用Struts2的MVC设计模式、Spring的依赖注入和事务管理以及Hibernate的对象关系映射功能,实现松耦合和灵活的编程。Jbpm则是一款开源的工作流管理系统,它提供了业务流程建模、部署、...

    ssh+jbpm流程例子jar包2

    6. **异常处理和事务管理**:在SSH+jbpm的环境中,需要考虑错误处理和事务的一致性。例如,当流程执行过程中发生错误时,如何回滚相关事务并妥善处理异常。 7. **单元测试和集成测试**:为了确保示例的正确性,项目...

    SSH+JBPM4.4完整项目

    SSH+JBPM4.4是一个综合的IT项目,它整合了三个主要的技术栈:Spring、Struts2和Hibernate,这些都是Java开发中非常流行的开源框架。SSH(Spring、Struts2、Hibernate)组合提供了完整的MVC(Model-View-Controller)...

    JBPM web(SSH+JBPM) 例子

    在SSH框架中整合JBPM,可以实现流程的可视化设计、部署以及运行时监控。开发者可以通过jbpm-gwt-console(通常包含在webjbpm中)来设计流程图,并将其转换为XML格式的流程定义文件(.bpmn20.xml)。这些文件随后可以...

    ssh+jbpm流程例子jar包1

    在"ssh+jbpm流程例子jar包1"中,很可能包含了一个演示如何整合SSH框架和jbPM的工作流程应用。这个示例可能展示了如何在SSH项目中配置jbPM,如何在业务逻辑中启动、控制和查询流程实例,以及如何设计和执行一个简单的...

    SSH+JBPM4实现请假流程

    SSH+JBPM4实现请假流程是一个企业级应用开发的经典案例,它结合了Spring、Struts2和Hibernate(SSH)这三大主流Java企业级框架,并利用JBPM4进行工作流管理。SSH框架组合提供了模型-视图-控制器(MVC)架构,而JBPM4...

    ssh+jbpm项目源码

    SSH(Struts2 + Spring + Hibernate)是一种常见的Java Web开发框架组合,...通过对这个项目源码的学习,开发者可以深入理解SSH和JBPM的整合应用,提升在企业级应用开发中的技能,特别是在业务流程管理方面的实践能力。

    Extjs4+jbpm4+SSH+oracle.zip

    ExtJs4.1+Jbpm4+SSH2+Oracle10g视频教程 视频教程正在上传中!先共享代码,有了代码,还买啥教程额! SSH2+JBPM+ExtJs4实战,JBPM是重点讲解。实战与demo的区别我不再多说,在以前工作中走过一些弯路,一些实现都是...

    Extjs4.1+jbpm4综合案例视频教程

    1. **ExtJS4+SSH2+JBPMʵۣ.docx** - 这个文件名可能包含了一个完整的实现案例,涵盖了ExtJS 4与SSH2(Spring、Struts、Hibernate三大Java开源框架的组合)以及jbpm4的整合。文档可能包含了详细步骤、代码片段和解释...

    ExtJs4.1+Jbpm4+SSH2+Oracle10g实际项目源码

    ExtJs4.1+Jbpm4+SSH2+Oracle10g视频教程 视频教程正在上传中!先共享代码,有了代码,还买啥教程额! SSH2+JBPM+ExtJs4实战,JBPM是重点讲解。实战与demo的区别我不再多说,在以前工作中走过一些弯路,一些实现都是...

    struts+hibernate+spring+jbpm智能工作流系统

    在Struts 和 Hibernate 的基础上,Spring 提供了一个统一的平台,整合了这些框架并增强了它们的功能。例如,Spring 的MVC模块可以与Struts 结合,提供更强大的控制层。同时,Spring 还能与Hibernate 集成,简化数据...

    SSH整合JBPM

    在SSH整合JBPM中,Spring主要负责管理和协调各个组件,包括数据库连接、事务控制以及与JBPM的交互。 2. **Struts框架**:Struts是MVC(Model-View-Controller)设计模式的实现,用于处理HTTP请求和视图渲染。在整合...

    Struts+Spring+Hibernate+Jbpm实现的OA办公系统

    在本系统中,Spring可能被用来管理Struts的Action实例,进行事务控制,以及提供与Hibernate的整合。 **Hibernate** 是一款流行的Java ORM(对象关系映射)框架,它简化了数据库操作,通过映射Java对象到数据库表,...

    ssh-jbpm整合

    SSH-JBPM整合是将Spring、Struts2和Hibernate这三个流行的Java开源框架与Business Process Management System(业务流程管理系统)JBPM结合使用的一种实践。SSH分别代表Spring(一个强大的依赖注入和面向切面编程...

    SSH 与jbpm4.3 整合的资料以及ssh的jar包

    在整合过程中,`jbpm4.3 ssh.doc`可能包含关于如何配置SSH框架以适应jbpm4.3的详细步骤,`jbpm4.3&ssh 整合.doc`则可能进一步介绍了整合过程中的关键点和常见问题。`ssh整合需要的jar包目录.doc`应该列出了整合SSH与...

    Struts+Hibernate+spring+jpa+lucene+jbpm+compass配置文件

    JBPM的配置涉及流程定义文件(.bpmn或.xml)、数据源、事务管理等。 7. **Compass**:Compass 是一个基于Lucene的搜索引擎,它简化了在Java应用中集成全文搜索的过程。配置文件`compass.cfg.xml`用于定义索引的位置...

    ssh_jbpm4.4

    在"ssh_jbpm4.4"项目中,SSH框架与JBPM4.4进行了整合,构建了一个Web应用实例,以展示如何在Java Web环境中使用SSH来控制和协调JBPM的工作流程。这个实例主要包含以下几个核心知识点: 1. **Struts2框架**:Struts2...

Global site tag (gtag.js) - Google Analytics