`

Spring+jbpm整合包括事务集成

阅读更多

其实很简单,跟着我做吧!

前提,jbpm的表和业务表都放在一个用户里面,这样可以共用一个sessionFactory,否则要用到分布式事务。

准备工作

0,拷贝jbpm-3.1.4.jar,jbpm-identity-3.1.4.jar, spring-modules-jbpm31.jar

到lib中。

   从jbpm-3.1.4.jar 中解开default.jbpm.cfg.xml文件,并修改

   <jbpm-context>

   成

      <jbpm-context name= "default.jbpm.context">

      改名为jbpm.cfg.xml。

      放到lib下。估计放classes下也可以,没有时间试。

 

1,集成jbpm 的hbm文件,红色是新加的。

        <property name="mappingDirectoryLocations">
            <list>
                <value>classpath:/com/juyee/mp/hbm</value>
            </list>
        </property>
        <property name="mappingJarLocations">
            <list>
                <value>classpath*:jbpm-3.1.4.jar</value>
                <value>classpath*:jbpm-identity-3.1.4.jar</value>
            </list>
        </property>

 

2,配置jbpm相关的service。

    <bean id="jbpmConfiguration"
          class="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean">
        <property name="sessionFactory" ref="sessionFactoryBean"/>
        <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>

    <!--上面的template是不是看起来不爽,Hibernate 的service好像没有这个东西,

           但没有办法,不加不行!

       -->

 

    <bean id="jbpmService" parent="proxyFactoryBean">
        <property name="target">
            <bean class="com.juyee.mp.service.JbpmService">
                <property name="template">
                    <ref bean="jbpmTemplate"/>

             <!--注意了,不是注入jbpmConfiguration -->
                </property>
            </bean>
        </property>
    </bean>

 

3,JbpmService是什么样子呢?

public class JbpmService extends JbpmDaoSupport
{

    public ProcessInstance findProcessInstance(final Long processInstanceId)
    {
        return getTemplate().findProcessInstance(processInstanceId);
    }

    /**
     * @see org.springmodules.workflow.jbpm31.JbpmOperations#findProcessInstances()
     */
    public List findProcessInstances()
    {
        return getTemplate().findProcessInstances();
    }

 

    //复杂一点的例子

    public void saveWorkFlowDefinition(String xmlStr)
    {

 

        final ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(xmlStr);
        //call spring jbpm call back for save processdefinition
        getTemplate().execute(new JbpmCallback()
        {
            public Object doInJbpm(JbpmContext jbpmContext) throws JbpmException
            {
                GraphSession gSession = jbpmContext.getGraphSession();
                gSession.saveProcessDefinition(processDefinition);
                return processDefinition;
            }
        });
    }

    ....

}

 

大功告成!

分享到:
评论

相关推荐

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

    Spring 是一个全面的企业级应用开发框架,提供了包括依赖注入、AOP(面向切面编程)、事务管理、数据访问、Web 应用以及更多的功能。在Struts 和 Hibernate 的基础上,Spring 提供了一个统一的平台,整合了这些框架...

    spring+struts+hibernate+jbpm +dwr整合开发的OA办公系统源码

    在本项目中,Spring用于管理Bean的生命周期,处理事务,以及与其它框架如Struts、Hibernate的集成。 2. **Struts框架**:Struts是MVC(Model-View-Controller)架构模式的一个实现,主要用于控制应用程序的流程。在...

    struts+hibernate+spring+jbpm例

    Ch 20 文件可能包含了这个示例的源代码或相关文档,包括Struts配置文件、Hibernate映射文件、Spring配置文件以及jBPM流程定义文件等。 学习这个例子,你可以了解如何将这些组件集成在一起,实现一个高效、可维护的...

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

    整合这些技术时,开发者通常会创建一个综合的配置文件体系,例如Spring的配置文件可以管理所有组件的依赖和配置,通过引入Struts、Hibernate、JPA、Lucene、JBPM和Compass的相关配置。这需要对每个框架的原理有深入...

    struts2+spring+hibernate+jbpm工作流实例

    开发者可以通过研究这些文件,了解如何将Struts2、Spring、Hibernate和Jbpm集成起来,实现一个完整的公文审批流程。这个实例不仅可以帮助学习者理解这些技术的用法,还可以作为模板,用于构建其他类型的工作流应用,...

    JBPM4.4+spring+ext整合

    【JBPM4.4+Spring+EXT 整合详解】 JBPM(Java Business Process Management)是一个开源的工作流管理系统,主要用于处理业务流程自动化。版本4.4是JBPM的一个重要里程碑,它提供了强大的工作流设计、执行和监控能力...

    ssh+jbpm整合好的demo

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

    spring3.2+jBPM6整合实例

    本文将深入探讨如何将Spring 3.2与jBPM 6整合,以实现高效、灵活的企业级业务流程自动化。 Spring是一个开源的Java平台,它为构建企业级应用提供了全面的框架支持,包括依赖注入、AOP(面向切面编程)、数据访问、...

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

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

    ssh+jbpm整合实力

    在"ssh+jbpm整合实力"的项目中,我们可以看到将SSH框架与Jbpm工作流引擎进行了集成,用于实现一个发布文章的流程。这个流程可能涉及到文章的创建、审核、发布等多个环节,通过Jbpm的流程定义语言(BPMN)来设计和控制...

    jbpm4.0+ext3.0+spring+hibernate整合实例

    在jbpm4.0中,你可以通过流程定义语言BPMN(Business Process Modeling Notation)来设计复杂的业务流程,并且集成了对持久化、事务和规则的支持。 **ext3.0** EXTJS是一个基于JavaScript的富客户端UI库,EXT3.0是...

    ssh+jbpm5.4 (2)

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

    jbpm4整合struts2+spring2.5+hibernate3.3

    【jbpm4整合struts2+spring2.5+hibernate3.3】的集成是企业级应用开发中常见的技术栈组合,旨在利用各框架的优势实现高效、灵活的业务流程管理。jbpm4是一个开源的工作流管理系统,用于定义、执行和管理业务流程。...

    Spring+hibernate4+SpringMVC+Jbpm4.4

    在本项目中,Jbpm 4.4 被整合到Spring框架中,用于实现流程驱动的应用,如审批流程、订单处理等。 **MySQL 数据库** MySQL 是一种流行的关系型数据库管理系统,广泛应用于Web应用。在本项目中,MySQL被选为后端...

    SSH+JBPM4.3的整合 JBPM4.3

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

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

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

    spring与jbpm的集成包(符集成方法)

    8. **spring-modules-jbpm31.jar**:这个 JAR 文件很可能是 Spring 与 JBPM 3.1 版本的集成组件,包含了必要的桥接和适配器类,以便于在 Spring 环境中使用 JBPM。 9. **readme.txt**:这个文件通常包含集成指南、...

    spring与JBPM整合ppt

    标题中的“spring与JBPM整合ppt”指的是将Spring框架与JBPM(Business Process Management,业务流程管理)系统相结合,以实现更加高效、灵活的企业级应用流程管理。在本PPT中,我们预计会探讨以下几个核心知识点: ...

    activiti+spring+srping Mvc+mybatis+maven整合

    2. 配置Spring:配置Spring的核心容器,包括bean的定义、事务管理、数据源以及Activiti的相关配置。使用`applicationContext.xml`文件进行这些配置。 3. 集成Spring MVC:配置Spring MVC的DispatcherServlet,定义...

    spring2.5.4+hibernate3.2.6+struts2+jbpm3.2.2收藏

    在这个场景中,我们讨论的是如何将Spring 2.5.4、Hibernate 3.2.6、Struts2以及jbpm 3.2.2这四个组件集成到一个项目中。下面将分别介绍这些组件以及它们在整合过程中的配置细节。 1. **Spring 2.5.4**: Spring 是...

Global site tag (gtag.js) - Google Analytics