`

spring和jbpm的详细配置

    博客分类:
  • JBPM
阅读更多

转载自:http://superleo.iteye.com/blog/323400

Spring  jbpm 整合还是挺复杂的,我把整合的过程以及遇到的一些问题和大家共同分享一下,有不当之处,希望大家指正。我的开发环境是xp3,我所用到的框架版本如下:

 

struts2.0.11并且降级支持JDK1.4

spring2.0,

spring-modules-jbpm31-0.6.jar
jbpm3.1.4

hibernate.3.2.3

 

 

附件就是源码,请参照里面的readme.txt进行相应的配置。

 

 

 Spring 中配置 jbpm 所使用的 SessionFactory

 

Spring 其它该怎么配还是怎么配置,对于 jbpm 所依赖的 sessionFactory ,我是这么配置的:

 

 

 

Xml代码 
  1. <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  2.         <property name="dataSource">  
  3.             <ref bean="dataSource" />  
  4.         </property>  
  5.         <property name="mappingLocations">  
  6.             <list>         
  7.                 <!-- jbpm's hbm.xml -->  
  8.                     <value>classpath*:/org/jbpm/**/*.hbm.xml</value>  
  9.                   
  10.                 <!-- other hbm.xml -->  
  11.             <value>classpath*:/com/resoft/system/domain/*.hbm.xml</value>        
  12.             </list>  
  13.         </property>  
  14.         <property name="hibernateProperties">  
  15.             <props>  
  16.                 <prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>  
  17.                 <prop key="show_sql">true</prop>  
  18.                 <prop key="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</prop>  
  19.             </props>  
  20.         </property>  
  21.     </bean>  

 

 

我看有的喜欢将配置

 

 

Xml代码 
  1. <property name="mappingLocations">  
  2.             <list>         
  3.                 <!-- jbpm's 的hbm.xml -->  
  4.                     <value>classpath*:/org/jbpm/**/*.hbm.xml</value>  
  5.                   
  6.                 <!-- 其它地方自己配置的 hbm.xml -->  
  7.                     <value>classpath*:/com/resoft/system/domain/*.hbm.xml</value>        
  8.             </list>  
  9.         </property>  
 

 

 

配置成:

 

 

Xml代码 
  1. <property name="configLocations">         
  2.              <list>         
  3.                     <value>classpath:/hibernate.cfg.xml</value>    
  4.                 ......  
  5.             </list>         
  6.         </property>  
 

 

 

其实也行,不过hibernate.cfg.xml 文件对于后续的 spring  jbpm 整合也没有多大用处,尽量争取统一在一处配置即可。下面还会有详细说明。

还有一点就是本 demo 是一个很简单的整合实例,所以其它的 PO 对象所对应的表也和 jbpm 放在一起。实际用的时候,可能需要配置多个数据源,多个 sessionFactory ,并用 JTA 来进行全局事务处理。

 

 

 

开始在 Spring 中配置 jbpm

 

请注意,现在才是配置的开始,继续在spring的xml中配置

 

 

 

 

Xml代码 
  1. <!-- 关于jbpmConfiguration的配置 -->  
  2.     <bean id="jbpmConfiguration" class="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean">  
  3.         <property name="sessionFactory" ref="sessionFactory" />  
  4.         <property name="configuration" value="classpath:jbpm.cfg.xml" />  
  5.         <!-- 第一处需要注意的地方 -->  
  6.         <property name="processDefinitions">  
  7.             <list>  
  8.                 <ref local="holidayWorkflow" />  
  9.             </list>  
  10.         </property>  
  11.         <!-- 没什么好说的,是否需要重新建表 -->  
  12.         <property name="createSchema" value="${jbpmConfiguration.createSchema}" />  
  13.     </bean>  
  14.   
  15.   
  16. <bean id="holidayWorkflow" class="org.springmodules.workflow.jbpm31.definition.ProcessDefinitionFactoryBean">  
  17.     <!-- 第二处需要注意的地方 -->  
  18.         <property name="definitionLocation" value="classpath:jbmp/workflow/holiday/holiday.zip" />  
  19.     </bean>  
  20.   
  21.     <bean id="holidayTemplate" class="org.springmodules.workflow.jbpm31.JbpmTemplate">  
  22.         <constructor-arg index="0" ref="jbpmConfiguration" />  
  23.         <!-- 第三处需要注意的地方 -->  
  24.         <constructor-arg index="1" ref="holidayWorkflow" />  
  25.     </bean>  

 

 

 

先看

 

 

Xml代码 
  1. <!-- 第一处需要注意的地方 -->  
  2.         <property name="processDefinitions">  
  3.             <list>  
  4.                 <ref local="holidayWorkflow" />  
  5.             </list>  
  6.         </property>  

 

 

这样配置后,每次重新启动的时候,都会重新发布 list 里的流程,开发的时候建议这么做。

 

再看

 

 

Java代码 
  1. <!-- 第二处需要注意的地方 -->  
  2.     <property name="definitionLocation" value="classpath:jbmp/workflow/holiday/holiday.zip" />  
 

 

 

以前整合过的人非常奇怪我这个地方怎么是一个 zip ,而不是什么 processdefinition.xml 文件之类的。最开始的时候,我下载了 javaeye中某个人写的代码,里面说流程发布一定要通过插件发布,不能通过代码, 后来慢慢在自己摸索中发现,这是 springmodule 的一个不完善的地方。所谓的插件形式发布,我看了代码,就是调用一个执行上传 zip 包的 servlet 。然后再通过 jbpm  API  zip 包中的gpd.xml  processdefinition.xml  processimage.jpg 解析发布,最后可以在页面使用 jbmp 自带的 jsp tag 标签 ( 可以随便修改 ) ,将 processimage.jpg 所在流程的正确位置显示出来。

 

好了,下载 spring-module-jbmp3.1 的源码打开

org.springmodules.workflow.jbpm31.definition. ProcessDefinitionFactoryBean 类,大概在第 56 行左右的地方,将

 

 

Java代码 
    font-size: 1em; line-height: 1.4em; margin-top: 0px; marg
    分享到:
    评论

相关推荐

    jbpm+spring配置

    在Spring配置文件中,你需要定义`JbpmConfiguration`和`JbpmRuntimeManagerFactoryBean`,它们负责创建jbpm的工作空间和获取运行时管理器。 4. **注册任务监听器和服务**:jbpm允许你注册监听器来处理流程事件,如...

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

    Spring 和 JBPM 集成是一项关键的技术任务,它允许开发者在基于 Spring 的应用程序中无缝地集成业务流程管理(BPM)功能。JBPM 是一个开源的 BPM 解决方案,提供工作流服务、流程建模、执行和监控等功能。下面我们将...

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

    Struts、Hibernate、Spring 和 jBPM 是四个在企业级应用开发中广泛使用的开源框架,它们结合在一起可以构建出高效且灵活的智能工作流系统。下面将分别介绍这些技术及其在工作流系统中的作用。 **Struts** Struts 是...

    spring与JBPM整合ppt

    通过Spring的ApplicationContext,我们可以配置和管理JBPM的相关组件,如流程引擎、数据源、事务管理器等。同时,Spring的AOP可以用来实现流程监听和扩展功能。 4. **配置过程**:整合步骤通常包括设置数据源、配置...

    提前试用spring 集成 jbpm4

    总的来说,"提前试用spring 集成 jbpm4"意味着你需要理解Spring框架和jbpm4 BPM平台的工作原理,学习如何在Spring环境中配置和使用jbpm4,以及如何设计和部署符合业务需求的工作流程。这个过程涵盖了数据库配置、...

    Spring与JBPM4的集成.docx

    在使用Spring Integration时,可能会出现一些问题,如在配置和测试时出现的问题等。这些问题可以通过在JBPM4和Spring框架的文档中查找答案,也可以通过在社区中提问和讨论来解决问题。 知识点6:深入集成 Spring ...

    Spring整合JBPM、日志、数据库、ehcache的配置文件

    在整合其他组件时,Spring通常通过XML配置文件或Java配置来定义Bean的创建和依赖关系。 1. **Spring与JBPM整合**: JBPM是一个开源的工作流和业务流程管理系统,用于处理业务流程自动化。在Spring中集成JBPM,你...

    Spring-Jbpm-JSF-Example.pdf

    标题与描述提到的“Spring-Jbpm-JSF-Example.pdf”是一个示例项目,展示了如何将Spring框架、Jbpm工作流引擎和JSF(JavaServer Faces)技术集成在一起。此项目通过一个简单的应用实例,演示了如何运行基本的工作流程...

    jbpm4.3与spring整合

    本文档将详细介绍如何将JBPM 4.3版本与Spring框架进行整合,包括环境搭建、配置文件调整以及具体的整合步骤等。 #### 一、环境准备 在开始整合之前,我们需要确保具备以下软件环境: - **JBPM版本**:4.3 - **...

    jbpm4 集成 spring 的试用代码

    将jbpm4集成到Spring中,可以充分利用Spring的管理优势,提高流程服务的可测试性和可配置性。 在“jbpm4 集成 spring”的场景中,我们需要关注以下几个关键知识点: 1. **集成配置**:首先,我们需要在Spring的...

    将Spring与JBPM集成.txt

    这里`jbpm.cfg.xml`是一个包含JBPM配置的文件,如数据库连接、工作流资源位置等信息。 3. **加载和部署流程定义**:使用`JbpmConfiguration`实例来创建一个`JbpmContext`对象,然后通过这个上下文对象部署流程定义...

    spring4.1.1+jbpm6.4.0+maven

    接着,他们会利用Spring的配置文件来声明和管理bean,这些bean可能包括与JBPM交互的服务。JBPM的工作流定义通常会以BPMN2.0的XML格式存储,可以通过JBPM的工作流设计器进行图形化设计,然后在运行时由JBPM引擎执行。...

    Jbpm4.4+hibernate3.5.4+spring3.0.4+struts2.1.8整合

    总结来说,JBPM4.4+Hibernate3.5.4+Spring3.0.4+Struts2.1.8的整合是一项涉及多个层面的工作,需要对每个组件有深入的理解,并能熟练配置和使用。通过这个整合,开发者能够构建出强大的业务流程管理系统,同时利用...

    spring配置jbpm

    4. **JBPM配置**:JBPM是一个开源的工作流和业务流程管理引擎,能够帮助开发者快速实现复杂的业务流程自动化。Spring框架与JBPM的结合使得这种集成变得更加简单。 #### 四、总结 本文通过分析Spring配置文件中的...

    jqueryui1.8 springdb jbpm-email

    例如,你可以使用 jQueryUI 创建一个交互友好的前端界面,通过 SpringDB 实现后端的数据存储和处理,而 Jbpm 可以用来设计和执行复杂的业务流程,同时利用 Jbpm 的邮件服务发送流程相关的通知。这种结合方式可以提供...

    jBPM4与Spring整合的2种方式

    而Spring是一个广泛应用的Java企业级应用框架,它简化了开发、配置和管理。将jBPM4与Spring整合,可以充分利用Spring的依赖注入和管理能力,提升jBPM4的可维护性和灵活性。本文将详细介绍两种整合jBPM4与Spring的...

    Spring Jbpm流程整合1

    【Spring与JBPM整合详解】 在企业级应用中,工作流管理系统扮演着至关重要的角色,Spring框架和JBPM的结合...通过精心的配置和设计,开发者可以利用这两个强大的工具构建出灵活、高效且易于维护的业务流程管理系统。

    JBPM4.4+spring+ext整合

    - **可配置和可扩展**:可以通过配置文件或代码定制UI样式和行为,适应不同业务需求。 - **AJAX驱动**:EXT基于AJAX技术,提供流畅的用户体验,页面无需刷新即可实现数据交换。 4. **整合过程**: - **配置...

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

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

    struts+hibernate+spring+jbpm例

    Struts、Hibernate、Spring 和 jBPM 是四个在 Java 开发领域中广泛应用的框架和工具。这个例子结合了它们的功能,构建了一个完整的后端应用程序架构。 **Struts** 是一个 MVC(Model-View-Controller)框架,用于...

Global site tag (gtag.js) - Google Analytics