使用Jbpm4.2 集成Spring 出现问题:
2009-11-12 15:49:51,640 ERROR [org.springframework.web.context.ContextLoader] - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'processEngine' defined in file
[......\WEB-INF\classes\spring\applicationContext-jbpm.xml]:
Instantiation of bean failed; nested exception is
org.springframework.beans.factory.BeanDefinitionStoreException: Factory
method [public org.jbpm.api.ProcessEngine
org.jbpm.pvm.internal.cfg.SpringConfiguration.buildProcessEngine()]
threw exception; nested exception is java.lang.NullPointerException
Caused by: java.lang.NullPointerException
at org.jbpm.pvm.internal.cfg.ProcessEngineImpl.checkDb(ProcessEngineImpl.java:177)
userCommandService 为null
经调试发现,使用Spring后userCommandService 确实是null,
配置中缺少什么东西?未知。 文档中并无特殊说明,
4.1没有出现问题~
应该是4.2的Bug
jBPM-4.2集成Spring的方法,请参考这里:
http://www.family168.com/jbpm4/spring-jbpm42.html
jBPM-4.2默认提供的与spring整合的文件存在重大问题,使用官方推荐的配置方式根本无法启动流程引擎,需要进行如下修改:
第1步:将下面的内容保存为jbpm.tx.spring42.cfg.xml:
<?xml version="1.0" encoding="UTF-8"?>
<jbpm-configuration>
<process-engine-context>
<command-service name="txRequiredCommandService">
<skip-interceptor />
<retry-interceptor />
<environment-interceptor />
<spring-transaction-interceptor />
</command-service>
<command-service name="newTxRequiredCommandService">
<retry-interceptor />
<environment-interceptor policy="requiresNew" />
<spring-transaction-interceptor />
</command-service>
</process-engine-context>
<transaction-context>
<transaction />
<hibernate-session />
</transaction-context>
</jbpm-configuration>
第2步:将jbpm.tx.spring42.cfg.xml放在classpath下。
第3步:修改jbpm.cfg.xml,使用jbpm.tx.spring42.cfg.xml替换默认的jbpm.tx.spring.cfg.xml:
<?xml version="1.0" encoding="UTF-8"?>
<jbpm-configuration>
<import resource="jbpm.default.cfg.xml" />
<import resource="jbpm.businesscalendar.cfg.xml" />
<import resource="jbpm.tx.spring42.cfg.xml" />
<import resource="jbpm.jpdl.cfg.xml" />
<import resource="jbpm.identity.cfg.xml" />
<!-- Job executor is excluded for running the example test cases. -->
<!-- To enable timers and messages in production use, this should be included. -->
<!--
<import resource="jbpm.jobexecutor.cfg.xml" />
-->
<import resource="jbpm.mail.templates.examples.xml" />
</jbpm-configuration>
分享到:
相关推荐
### jbpm4.2开发知识点概述 #### 一、jbpm简介 - **定义与特点**:jbpm(Java Business Process Model)是一个开源的工作流引擎,用于自动化业务流程的执行。它提供了一种灵活的方式来定义复杂的业务流程,并通过...
1. **集成配置**:首先,我们需要在Spring的配置文件中引入jbpm4的相关bean,如`jbpmServiceFactoryBean`,用于创建流程引擎。同时,配置数据源、事务管理器等,确保jbpm4与Spring的事务管理能够协同工作。 2. **...
3. **规则集成(Drools Rule Engine Integration)**:JBPM 4.2集成了Drools规则引擎,使得流程可以基于规则进行决策。`org.drools` 包含了与Drools相关的代码,如KnowledgeBase和StatefulKnowledgeSession,用于...
【JBPM 4.2 开发文档概述】 JBPM(JBoss Business Process Management)是一款开源的工作流管理系统,它提供了一套完整的业务流程自动化解决方案。JBPM 4.2 是其在2009年发布的一个版本,包含了丰富的功能,如工作...
- **JPA集成**:JBPM4.2支持JPA(Java Persistence API),允许在现有的Java EE环境中轻松集成。 5. **API和编程模型** - **API调用**:开发者可以通过API直接控制流程实例的生命周期,如启动、暂停、继续和结束...
jbpm4.2jar是一个与Java业务流程管理(BPM)相关的库文件,它属于jbpm框架的第4.2版本。jbPM是开源的企业级BPM解决方案,它提供了全面的功能来支持工作流自动化、业务规则管理和组织内业务流程的建模、执行和监控。 ...
- `jbpm-4.3/install/src/cfg/jbpm/spring.jbpm.cfg.xml`:JBPM与Spring集成的关键配置文件。 #### 三、配置文件调整 接下来,我们将对这些配置文件进行必要的修改。 1. **调整`hibernate.cfg.xml`**:在`...
本案例主要关注如何在JBPM5中集成Spring3,以提升应用程序的可维护性和可扩展性。 ### 1. JBPM5简介 JBPM5是一款开源的工作流管理系统,它提供了一整套流程定义、执行和管理的工具。JBPM支持BPMN2.0标准,允许...
jbpm4.2 install
1. **引入Spring-JBPM4依赖**:Spring社区提供了Spring-JBPM4模块,可以直接集成到Spring应用中。添加相应的Maven或Gradle依赖。 2. **配置jbpmContext**:创建一个jbpmContext的bean,它会自动配置jBPM4所需的服务...
1. **Spring配置JBPM4**:首先,我们需要在Spring的配置文件中声明对JBPM4的依赖,包括数据源、事务管理器以及JbpmContext的bean。数据源用于连接数据库存储的流程实例信息,事务管理器确保流程操作的原子性,而...
在Jbpm4.4中整合Spring,可以利用Spring的这些优势,比如将Jbpm的流程实例管理、任务分配等操作集成到Spring容器中,实现流程服务的声明式配置和管理。 **3. Hibernate4整合** Hibernate4是流行的ORM(对象关系映射...
Spring 和 JBPM 集成是一项关键的技术任务,它允许开发者在基于 Spring 的应用程序中无缝地集成业务流程管理(BPM)功能。JBPM 是一个开源的 BPM 解决方案,提供工作流服务、流程建模、执行和监控等功能。下面我们将...
jbpm5.4与Spring MVC的集成是企业级应用开发中的常见组合,它结合了jbpm(业务流程管理)的强大功能和Spring MVC的灵活控制层架构。以下将详细阐述这一集成涉及的关键知识点: 1. **jbpm5.4**:jbpm是一个开源的...
Spring与JBPM4的集成 Spring框架和JBPM4的集成是指将Spring框架与JBPM4业务流程管理系统集成,以便更好地管理业务流程和工作流程。这种集成可以提供更加灵活和高效的业务流程管理解决方案。 知识点1:为什么需要...
- **配置Spring**:在Spring配置文件中定义JBPM相关的bean,如TaskService、ProcessEngine等。 - **集成EXT**:建立EXT客户端应用,连接到Spring MVC或RESTful服务,获取并展示流程信息。 - **工作流接口**:在...
jbpm4.3-spring2.5整合是一个关键的话题,涉及到企业级工作流管理系统Jbpm与Spring框架的集成。Jbpm是一个开源的工作流程管理(BPM)和业务规则管理系统,它允许开发者设计、执行、管理和监控业务流程。而Spring是...
1. **配置Spring容器**:将JBPM的相关组件如TaskService、ProcessEngine等配置为Spring的Bean,以便于依赖注入和管理。 2. **数据源集成**:确保JBPM的数据源与Spring的数据源一致,以便于共享数据库连接。 3. **...