0 Replies Latest reply on Jun 3, 2013 10:39 AM by ncboy

    jBPM5.4 JTA Tx issue with Bitronix and Atomikos

    ncboy

      Hi All,

       

      I have been trying to configure Two Phase Commit TX manager(Bitronix / Atomikos) with jBPM5.4, Spring Hibernate JPA in Tomcat 6.x server and running into issues. I am getting the following error while bringing up tomcat server.

      I checked all the forums and documentation form Bitronix and Atomikos and followed the instructions given, but issue is still occurring. It is able to look up the datasources defined in Tomcat configuration files, but while creating Knowledge Session with Entity manager Factory as paramters it is failign with the following error.

       

       


      <drools:ksession id="ksession" type="stateful" kbase="kbase" node="node1"   >


      <drools:configuration>



      <drools:jpa-persistence>




      <drools:transaction-manager ref="transactionManager" />




      <drools:entity-manager-factory ref="entityManagerFactory" />



      </drools:jpa-persistence>


      </drools:configuration>

      </drools:ksession>

      I have attached Spring context files with both Bitronix and Atomikos and also Persistnce.xml file for you reference.

       

      Can you please help me resolve this issue?

       

      Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ksession': Cannot create inner bean '(inner bean)' of type [org.drools.conta
      spring.beans.StatefulKnowledgeSessionBeanFactory$JpaConfiguration] while setting bean property 'jpaConfiguration'; nested exception is org.springframework.beans.factory.BeanCr
      nException: Error creating bean with name '(inner bean)#2': Cannot resolve reference to bean 'transactionManager' while setting bean property 'platformTransactionManager'; nes
      xception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in URL [file:/C:/apache-tomcat/webapps/ICBPM/WE
      /classes/conf/applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property
      e of type 'bitronix.tm.BitronixTransactionManager' to required type 'javax.transaction.TransactionManager' for property 'transactionManager'; nested exception is java.lang.Ill
      tateException: Cannot convert value of type [bitronix.tm.BitronixTransactionManager] to required type [javax.transaction.TransactionManager] for property 'transactionManager':
      atching editors or conversion strategy found
              at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:281)
              at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:125)
              at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360)
              at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118)
              at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
              at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
              at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
              at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
              at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
              at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
              at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:848)
              at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:790)
              at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707)
              at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478)
              ... 29 more
      

       

      Thanks

      -Babu