基本步骤
1、集成JBPM到系统(第一步:创建数据库表)
* 拷贝相关的依赖包到WEB-INF/lib下面(bsh.jar/ jcr-1.0.jar/ jbpm-identity.jar/ jbpm-jpdl.jar)
* 修改hibernate.cfg.xml,添加JBPM的映射配置,以及缓存属性的配置,可从jbpm包下的config文件夹下参考其hibernate.cfg.xml文件
*在使用Jbpm工作流引擎的时候,Hibernate配置文件一定要加上属性
<property name="hibernate.hbm2ddl.auto">update</property>
Hbm2dll.auto是数据库表和类自动连接更新
* 因为JBPM中的User对象与OA系统中的User对象名称上有冲突,所以需要修改系统中User映射的auto-import属性为"false"。(参考User.hbm.xml)
* 当修改了User映射的auto-import="false"之后,需要在查询User对象的时候,使用其全路径类名(请参考UserManagerImpl.java)
* 启动Tomcat,应能正确创建JBPM的所有数据库表
2、 集成JBPM到系统(第二步:与Spring集成)
* 集成JBPM与spring,需要用到第三方的集成包:spring-modules-0.8.zip
* 将其中的spring-modules-jbpm31.jar拷贝到WEB-INF/lib下面即可
* 集成JBPM与Spring的方法是:将JbpmConfiguration对象的创建交给Spring来完成
* 所以,需要在spring配置文件中配置JbpmConfiguration对象的创建
<!-- 配置JbmpConfiguration -->
<bean id="jbpmConfiguration" class="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean">
<property name="configuration" value="classpath:jbpm.cfg.xml"></property>
</bean>
* 这时候,需要jbpm.cfg.xml,这是JBPM的配置文件,我们可以从:JBPM_HOME"src"jpdl"org"jbpm目录下拷贝default.jbpm.cfg.xml文件,并重新命名为jbpm.cfg.xml
3、集成JBPM到系统(第三步:如何实现业务逻辑类,请参考WorkflowManagerImpl.java)
* 用到jbpmConfiguration对象的时候,需要注入 (<property name="jbpmConfiguration" ref="jbpmConfiguration"></property>)
* 当我们使用JbpmContext对象来操纵JBPM的时候,需要将JbpmContext的HibernateSession对象设置为当前的HibernateSession对象
private JbpmContext getContext(){
JbpmContext context = jbpmConfiguration.createJbpmContext();
context.setSession(getSession());
return context;
}
4、实现WorkflowManagerImpl
- 理解基本的JBPM操作:流程定义、流程实例、任务列表、流向
Jbpm与ssh整合常出现的问题
1、因为JBPM中的User对象与OA系统中的User对象名称上有冲突,所以需要修改OA系统中User映射的auto-import属性为"false"。(参考User.hbm.xml)
* 当修改了User映射的auto-import="false"之后,需要在查询User对象的时候,使用其全路径类名(请参考UserManagerImpl.java)
2、在使用Jbpm工作流引擎的时候,Hibernate配置文件一定要加上属性
<property name="hibernate.hbm2ddl.auto">update</property>
Hbm2dll.auto是数据库表和类自动连接更新
3、jbpm与Spring整合报错:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jbpmConfiguration' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: a beanFactoryReference already exists for key jbpmConfiguration
解决方法:去掉struts-config.xml文件中的org.springframework.web.struts.ContextLoaderPlugIn,也就是与Spring整合的插件
分享到:
相关推荐
SSH集成JBPM4是一个关于将Spring、Struts2和Hibernate(SSH)这三大Java Web开发框架与Business Process Management System(BPM,业务流程管理系统)JBPM4整合的项目实例。SSH是Java领域常用的轻量级MVC框架组合,...
7. **测试与调试**:在实际开发过程中,开发者会使用JUnit或其他测试框架对SSH和JBPM的集成功能进行单元测试和集成测试,确保流程的正确执行和异常处理。 8. **部署与运行**:最后,项目需要部署到Web服务器(如...
- 使用Spring Modules 0.8作为SSH和JBPM之间的集成工具。尽管Spring Modules 0.8已经完成了一部分集成工作,但在具体实践中仍需进一步调整。 4. **解决Session问题** - 需要确保JBPM所使用的Session与现有的...
SSH整合JBPM是一个常见的企业级应用开发场景,SSH指的是Spring、Struts和Hibernate这三个开源框架的集成,而JBPM则是一个强大的工作流管理系统。在这个整合过程中,SSH负责应用程序的架构和数据管理,而JBPM则提供了...
SSH+JBPM整合是一个在Java开发领域常见的技术组合,用于构建复杂的业务流程管理系统。SSH代表Struts2、Spring和Hibernate,它们分别是MVC框架、依赖注入容器和对象关系映射库,而JBPM则是一个开源的工作流和业务流程...
jbpm5.4提供了图形化的流程设计工具,可以创建和编辑BPMN2.0标准的流程图,同时还支持工作流引擎、任务管理、事件处理和规则集成。通过jbpm5.4,开发者可以将业务流程逻辑与应用程序的其他部分分离,提高系统的可...
在这个"ssh+jbpm-4.3集成案例"中,我们将探讨如何将SSH框架与Jbpm 4.3版本相结合,以实现业务流程自动化和管理。Jbpm 4.3是Jbpm的一个较旧但仍然广泛使用的版本,它提供了工作流定义、任务管理和监控等功能。 1. **...
在SSH-JBPM整合中,Spring用于管理SSH框架中的各种组件,如Action、DAO、Service等,并且Spring可以集成JBPM,管理流程实例的启动、暂停、恢复和结束等操作。 三、Hibernate框架 Hibernate是一个优秀的对象关系映射...
SSH+JBPM4.3的整合是企业级应用开发中的一种常见组合,SSH指的是Spring、Struts和Hibernate这三个开源框架的集成,而JBPM4.3则是一个强大的工作流管理系统,用于实现业务流程自动化。这篇内容将深入探讨这两个技术...
SSH整合JBPM是一个在Java开发领域中的重要主题,它涉及到Spring、Struts和Hibernate这三大框架与业务流程管理(Business Process Management, BPM)系统JBPM的集成。SSH是Java Web应用开发的主流技术栈,而JBPM则是...
SSH整合JBPM5.4是将Struts2、Spring3.1、Hibernate4.1这三大主流Java EE框架与业务流程管理(Business Process Management,简称BPM)工具JBPM5.4集成的过程。这个整合旨在提供一个高效、灵活且可扩展的企业级应用...
这个"ssh+jbpm流程例子jar包2"是一个包含SSH和jbpm集成的示例项目,可能包括了以下关键知识点: 1. **SSH框架集成**:项目中会展示如何将Struts2、Spring和Hibernate整合在一起,实现从视图到模型再到数据访问的...
这个项目旨在提供一个直观的Web界面,用于展示如何在实际应用中集成JBPM进行流程定义和执行。 首先,Spring框架是这个项目的核心,它负责依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented ...
学习和理解SSH+jbpm项目,不仅需要掌握SSH框架的使用,还要了解业务流程管理的基本概念和JBPM的工作原理。同时,熟悉数据库设计和SQL操作也是必要的,因为数据存储和检索是任何Web应用的基础。对于开发者来说,具备...
【jbpm5+SSH集成详解】 jbPM5和SSH(Spring、Struts、Hibernate)的集成是企业级Java应用开发中的常见实践,旨在利用jbPM5的流程管理能力与SSH框架的强大功能,构建出高效、灵活的企业级业务系统。jbPM5是一个开源...
jbpm4.3与SSH整合可以实现将业务流程与应用程序逻辑紧密集成,提高系统的灵活性和可扩展性。 SSH与jbpm4.3的整合主要涉及以下几个方面: 1. **Struts2与jbpm4.3的集成**:Struts2作为前端控制器,负责处理用户的...
这个"ssh+jbpm+rbac oa 办公自动化源码"项目可能包含以下关键组成部分: 1. **用户管理模块**:用于创建、管理用户账户,分配角色。 2. **角色管理模块**:定义不同角色的权限,包括对资源的访问和操作权限。 3. **...
2. **集成Struts**:在Struts的Action中,可以调用Spring管理的JBPM服务,启动、暂停、继续或结束流程实例,以及处理任务分配。 3. **利用Hibernate**:由于JBPM也涉及到数据库操作,可能需要与Hibernate一起工作,...
在这个"ssh-jbpm.rar"压缩包中,我们关注的是Struts2的应用实例,它可能包含了与jbpm(Job Business Process Management,工作流管理系统)集成的内容,以及SSH(Spring、Struts2和Hibernate)这一经典Java EE开发栈...
4. 集成流程:在SSH应用中引入JBPM的工作流引擎,编写代码来启动、查询和控制流程实例。 5. 实现用户界面:使用Struts2的Action和JSP页面,展示流程信息和交互界面,使用户能够参与流程执行。 6. 测试和调试:编写...