spring mvc 整合jbpm4.3 报错

错误信息

2011-12-23 1:08:30 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext
2011-12-23 1:08:34 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processEngine' defined in ServletContext resource [/WEB-INF/conf/applicationContext-Dao.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [protected org.jbpm.api.ProcessEngine org.jbpm.pvm.internal.processengine.SpringHelper.createProcessEngine()] threw exception; nested exception is org.jbpm.api.JbpmException: no org.springframework.transaction.PlatformTransactionManager in current environment
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [protected org.jbpm.api.ProcessEngine org.jbpm.pvm.internal.processengine.SpringHelper.createProcessEngine()] threw exception; nested exception is org.jbpm.api.JbpmException: no org.springframework.transaction.PlatformTransactionManager in current environment
Caused by: org.jbpm.api.JbpmException: no org.springframework.transaction.PlatformTransactionManager in current environment
 at org.jbpm.pvm.internal.env.EnvironmentImpl.getFromCurrent(EnvironmentImpl.java:204)
 at org.jbpm.pvm.internal.env.EnvironmentImpl.getFromCurrent(EnvironmentImpl.java:190)
 at org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.resolveTransactionManager(SpringTransactionInterceptor.java:89)
 at org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:52)
 at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
 at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
 at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)
 at org.jbpm.pvm.internal.processengine.ProcessEngineImpl.checkDb(ProcessEngineImpl.java:152)
 at org.jbpm.pvm.internal.processengine.SpringProcessEngine.create(SpringProcessEngine.java:70)
 at org.jbpm.pvm.internal.cfg.ConfigurationImpl.buildProcessEngine(ConfigurationImpl.java:92)
 at org.jbpm.pvm.internal.processengine.SpringHelper.createProcessEngine(SpringHelper.java:47)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:118)
 at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:344)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:783)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:710)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:386)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
 at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
 at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)
 at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
 at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
 at org.apache.catalina.core.StandardService.start(StandardService.java:519)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2011-12-23 1:08:34 org.apache.catalina.core.ApplicationContext log

配置文文件

applicationContext-Dao.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans default-autowire="byName" default-lazy-init="false" default-dependency-check="none">
  <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" lazy-init="default" autowire="default" dependency-check="default">
    <property name="driverClassName">
      <value>${jdbc.driver}</value>
    </property>
    <property name="url">
      <value>${jdbc.url}</value>
    </property>
    <property name="username">
      <value>${jdbc.username}</value>
    </property>
    <property name="password">
      <value>${jdbc.passwd}</value>
    </property>
    <property name="maxActive">
      <value>${jdbc.max.active}</value>
    </property>
  </bean>
  <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" lazy-init="default" autowire="default" dependency-check="default">
    <property name="mappingResources">
      <list> 
     <value>jbpm.repository.hbm.xml</value>
  <value>jbpm.execution.hbm.xml</value>
  <value>jbpm.history.hbm.xml</value>
  <value>jbpm.task.hbm.xml</value>
  <value>jbpm.identity.hbm.xml</value>
      </list>
    </property>
     <property name="hibernateProperties">
      <props>
        <prop key="hibernate.dialect">${jdbc.dialect}</prop>
        <prop key="hibernate.query.substitutions">true=1 false=0</prop>
        <prop key="hibernate.show_sql">${jdbc.show.hql}</prop>
      </props>
    </property>
  </bean>
 
 

  
  
  
  
 
    <!--大字段操作
    <bean id="jbpmTypes"    class="org.springframework.orm.hibernate3.TypeDefinitionBean"> 
       <property name="typeName"   value="string_max" /> 
       <property name="typeClass"  value="org.jbpm.db.hibernate.StringMax" /> 
    </bean> 
   -->
  
  
 

   
  <!-- //add transaction manager -->
    <bean id="txInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor" lazy-init="default" autowire="default" dependency-check="default">
    <property name="transactionManager">
      <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager" lazy-init="default" autowire="default" dependency-check="default"/>
    </property>
    <property name="transactionAttributeSource">
      <bean id="transactionAttributeSource" class="org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource" lazy-init="default" autowire="default" dependency-check="default">
        <property name="properties">
          <props>
            <prop key="save*">PROPAGATION_REQUIRED,-Exception</prop>
            <prop key="del*">PROPAGATION_REQUIRED,-Exception</prop>
          </props>
        </property>
      </bean>
    </property>
  </bean>
 
 
        <!-- jbpm工作流 -->  
  <bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper">  
      <property name="jbpmCfg" value="spring-jbpm4.cfg.xml"> </property> 
  </bean>  
  
  <bean id="processEngine"  factory-bean="springHelper" factory-method="createProcessEngine"></bean>

  
  
  <!-- 模板配置   -->   
<bean id="jbpmTemplate" class="com.cb.jbpm.action.JbpmTemplate">   
<property name="processEngine" ref="processEngine"></property>   
</bean>   

  
 

 
 
 
 
 
 
  <!-- //for detected transaction -->
  <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" lazy-init="default" autowire="default" dependency-check="default"/>
  <bean class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor" lazy-init="default" autowire="default" dependency-check="default">
    <property name="transactionInterceptor" ref="txInterceptor"/>
  </bean>
   
   
 </beans>

spring-jbpm4.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>

<jbpm-configuration>

  <import resource="jbpm.default.cfg.xml" />
  <import resource="jbpm.tx.spring.cfg.xml" />
  <import resource="jbpm.jpdl.cfg.xml" />
  <import resource="jbpm.bpmn.cfg.xml" />
  <import resource="jbpm.identity.cfg.xml" />
  <import resource="jbpm.businesscalendar.cfg.xml" />
  <import resource="jbpm.console.cfg.xml" />
 
  <!--
  <import resource="jbpm.jobexecutor.cfg.xml" />
  -->
  <process-engine-context>
    <string name="spring.cfg" value="spring-jbpm4.cfg.xml" />
  </process-engine-context>

</jbpm-configuration>

请大侠们帮忙研究下

猜你喜欢

转载自rjdg-com.iteye.com/blog/1322114