jBPM4与Spring整合的2种方式
jBPM4是一款开源的工作流管理系统,它提供了一套完整的业务流程执行和管理框架。Spring则是一个广泛应用的Java企业级应用框架,它提供了依赖注入、事务管理等核心功能。将jBPM4与Spring整合,可以充分利用Spring的管理能力,提高系统的可维护性和灵活性。 jBPM4与Spring整合主要有两种方式: ### 第一种方式:手工将SessionFactory放入jBPM4中 1. **取消默认配置**:你需要修改`jbpm.spring.default.cfg.xml`配置文件,注释掉jBPM4自动生成SessionFactory的部分。这样可以避免系统内存在多个SessionFactory实例,确保Spring对SessionFactory的唯一管理。 2. **Spring配置SessionFactory**:在Spring的配置文件中,定义一个名为`processEngine`的bean,类型为`com.family168.jbpm.ProcessEngineFactoryBean`,并将其`sessionFactory`属性引用Spring管理的SessionFactory。 3. **注入SessionFactory**:在`ProcessEngineFactoryBean`中添加一个`setSessionFactory`方法,用于接收Spring传递的SessionFactory实例。 4. **创建ProcessEngine**:在`afterPropertiesSet`方法中,通过SpringConfiguration创建ProcessEngine。这里需要将Spring的ApplicationContext、SessionFactory传入,然后调用`buildProcessEngine`方法生成ProcessEngine实例。之后,可以通过Spring上下文获取并使用这个ProcessEngine,以及其提供的各种服务,如RepositoryService等。 ### 第二种方式:利用Spring的ThreadLocal获取SessionFactory 1. **同样取消默认配置**:与第一种方式的步骤1相同。 2. **配置事务处理**:修改`jbpm.tx.spring.cfg.xml`文件,将`standard-transaction-interceptor`改为`spring-transaction-interceptor`,并将`transaction`和`hibernate-session`设置为`current="true"`。这样,jBPM4会从Spring的ThreadLocal中获取事务和Session,使得事务管理完全由Spring控制。 3. **启用Spring事务管理**:这种方式下,jBPM4不再创建自己的事务管理器,而是依赖于Spring的事务管理。Spring能够根据配置来决定事务的边界,实现事务的声明式管理。 这两种方式的区别主要在于事务管理和SessionFactory的创建与管理。第一种方式更适合于手动管理SessionFactory,而第二种方式则更侧重于利用Spring的事务管理能力。在实际项目中,可以根据具体需求和团队对Spring的熟悉程度选择合适的整合方式。 值得注意的是,尽管jBPM4技术可能已经不是最新,但工作流管理的理念和实践仍然重要。许多现代的工作流引擎(如Activiti、Flowable)都基于类似的思想,因此理解jBPM4的整合方式对于学习和使用其他工作流引擎也有很大帮助。
- 小七柒72013-03-28有详细的步骤
- qickrao2014-06-12还行,稍微理解了点儿
- 粉丝: 2
- 资源: 14
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助