6 Replies Latest reply on Dec 30, 2015 2:13 AM by maulee17

    JBPM 6.2 -Spring Integration

    maulee17

      Hi I am using Spring based configuration for my JBPM spring integration. Following is my spring config, giving exception in creating task service. Spring version is 4.0.2.

       

      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

      Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'taskService' defined in class path resource [com/citi/earth/jbpm/resource/earth-jbpm-config.xml]: Cannot create inner bean 'org.jbpm.services.task.audit.JPATaskLifeCycleEventListener#6bf9b5' of type [org.jbpm.services.task.audit.JPATaskLifeCycleEventListener] while setting bean property 'listeners' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.jbpm.services.task.audit.JPATaskLifeCycleEventListener#6bf9b5' defined in class path resource [com/citi/earth/jbpm/resource/earth-jbpm-config.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.jbpm.services.task.audit.JPATaskLifeCycleEventListener]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.jbpm.services.task.audit.JPATaskLifeCycleEventListener.<init>()

      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:282)
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:121)
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:351)
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:154)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1456)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1197)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:320)
      ... 40 more

      Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.jbpm.services.task.audit.JPATaskLifeCycleEventListener#6bf9b5' defined in class path resource [com/citi/earth/jbpm/resource/earth-jbpm-config.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.jbpm.services.task.audit.JPATaskLifeCycleEventListener]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.jbpm.services.task.audit.JPATaskLifeCycleEventListener.<init>()

      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1076)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1021)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:269)
      ... 52 more

      Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.jbpm.services.task.audit.JPATaskLifeCycleEventListener]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.jbpm.services.task.audit.JPATaskLifeCycleEventListener.<init>()

      at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:85)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1069)
      ... 56 more

      Caused by: java.lang.NoSuchMethodException: org.jbpm.services.task.audit.JPATaskLifeCycleEventListener.<init>()

      at java.lang.Class.getConstructor0(Class.java:2902)
      at java.lang.Class.getDeclaredConstructor(Class.java:2066)
      at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:80)

      ... 57 more

       

      spring-config.xml

      =============

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

      <beans xmlns="http://www.springframework.org/schema/beans"

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:drools="http://drools.org/schema/drools-spring"

        xmlns:jee="http://www.springframework.org/schema/jee" xmlns:util="http://www.springframework.org/schema/util"

        xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"

        xmlns:aop="http://www.springframework.org/schema/aop"

        xsi:schemaLocation="http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd

        http://drools.org/schema/drools-spring http://drools.org/schema/drools-spring.xsd

        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd

        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd

        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd

        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

       

        <!--

        <context:annotation-config />

        <context:component-scan base-package="com.citi.earth.jbpm" />

       

       

        <bean

        class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />-->

       

       

       

        <bean id="btmConfig" factory-method="getConfiguration"

        class="bitronix.tm.TransactionManagerServices">

        </bean>

       

       

        <bean id="BitronixTransactionManager" factory-method="getTransactionManager"

        class="bitronix.tm.TransactionManagerServices" depends-on="btmConfig"

        destroy-method="shutdown">

        </bean>

       

       

        <bean id="jbpmTxManager"

        class="org.springframework.transaction.jta.JtaTransactionManager">

        <property name="transactionManager" ref="BitronixTransactionManager" />

        <property name="userTransaction" ref="BitronixTransactionManager" />

        <property name="allowCustomIsolationLevels" value="true" />

        </bean>

       

       

        <bean id="runtimeEnvironment"

        class="org.kie.spring.factorybeans.RuntimeEnvironmentFactoryBean">

        <property name="type" value="DEFAULT" />

        <property name="entityManagerFactory" ref="entityManagerFactory" />

        <property name="transactionManager" ref="jbpmTxManager" />

        <property name="userGroupCallback" ref="userGroupCallBackImpl" />

        <property name="taskService" ref="taskService" />

        <property name="assets">

        <map>

        <entry key-ref="process">

        <util:constant static-field="org.kie.api.io.ResourceType.BPMN2" />

        </entry>

        </map>

        </property>

        </bean>

       

        <bean id="userGroupCallBackImpl" class="com.jbpm.workflow.UserGroupCallbackImpl">

        </bean>

       

       

        <bean id="runtimeManager" class="org.kie.spring.factorybeans.RuntimeManagerFactoryBean"

        destroy-method="close">

        <property name="type" value="PER_REQUEST" />

        <property name="identifier" value="spring-rm" />

        <property name="runtimeEnvironment" ref="runtimeEnvironment" />

        </bean>

       

       

        <bean id="taskService" class="org.kie.spring.factorybeans.TaskServiceFactoryBean"

        destroy-method="close">

        <property name="entityManagerFactory" ref="entityManagerFactory" />

        <property name="transactionManager" ref="jbpmTxManager" />

        <property name="listeners">

        <list>

        <bean class="org.jbpm.services.task.audit.JPATaskLifeCycleEventListener" />

        </list>

        </property>

        </bean>

       

       

        <bean id="logService" class="org.jbpm.process.audit.JPAAuditLogService">

        <constructor-arg>

        <ref bean="entityManagerFactory" />

        </constructor-arg>

        </bean>

       

       

        <bean id="jbpmMessageSource"

        class="org.springframework.context.support.ReloadableResourceBundleMessageSource">

        <property name="basenames">

        <list>

        <value>classpath:jBPMEarthFaultMessage</value>

        <!-- <value>classpath:com/jbpm/config/jBPMFaultMessage

        </value> -->

        </list>

        </property>

        <property name="defaultEncoding" value="UTF-8" />

        </bean>

       

       

        <bean id="taskTimeout" class="java.lang.Long">

        <constructor-arg type="long">

        <value>500000</value>

        </constructor-arg>

        </bean>

       

       

      </beans>

        • 1. Re: JBPM 6.2 -Spring Integration
          crasybpm

          Hello Maulee,             Can you plz share your btm.config file and Can you plz give me details about which applicaiton server your are using ?  better if you share some source code so i test in my enviroment. Thanks Vishal

          • 2. Re: JBPM 6.2 -Spring Integration
            maulee17

            Hi Vishhal,

             

            Here is my btm config file is as under and I am using tomcat 6 as application server.

             

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

            <beans xmlns="http://www.springframework.org/schema/beans"

              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"

              xmlns:p="http://www.springframework.org/schema/p" xmlns:util="http://www.springframework.org/schema/util"

              xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

                http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd

                http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd

              ">

             

            <!-- Bitronix Transaction Manager embedded configuration -->

              <bean id="btmConfig" class="bitronix.tm.TransactionManagerServices"

              factory-method="getConfiguration">

              <property name="serverId" value="spring-btm" />

              <property name="defaultTransactionTimeout" value="600" />

              </bean>

             

             

              <!-- create Bitronix Transaction Manager transaction manager -->

              <bean id="bitronixTransactionManager" class="bitronix.tm.TransactionManagerServices"

              factory-method="getTransactionManager" depends-on="btmConfig"

              destroy-method="shutdown" />

             

              <bean id="transactionSynchronizationRegistry" class="bitronix.tm.TransactionManagerServices"

              factory-method="getTransactionSynchronizationRegistry" depends-on="btmConfig"

              />

             

             

              <bean id="globalDS" class="bitronix.tm.resource.jdbc.PoolingDataSource"

              init-method="init" destroy-method="close">

              <property name="className" value="oracle.jdbc.xa.client.OracleXADataSource" />

              <property name="uniqueName" value="jdbc/globalDS" />

              <property name="minPoolSize" value="1" />

              <property name="maxPoolSize" value="10" />

              <property name="acquisitionInterval" value="1" />

              <property name="acquisitionTimeout" value="300000" />

              <property name="maxIdleTime" value="300000" />

              <property name="useTmJoin" value="true" />

              <property name="deferConnectionRelease" value="true" />

              <property name="automaticEnlistingEnabled" value="true" />

              <property name="allowLocalTransactions" value="true" />

              <property name="driverProperties">

              <props>

              <prop key="URL">jdbc:oracle:thin:@host:1521:cloudapp

              </prop>

              <prop key="user">test</prop>

              <prop key="password">test</prop>

              </props>

              </property>

              </bean>

              <bean id="bpmDS" class="bitronix.tm.resource.jdbc.PoolingDataSource"

              init-method="init" destroy-method="close">

              <property name="className" value="oracle.jdbc.xa.client.OracleXADataSource" />

              <property name="uniqueName" value="bpmDS" />

              <property name="minPoolSize" value="1" />

              <property name="maxPoolSize" value="10" />

              <property name="acquisitionInterval" value="1" />

              <property name="acquisitionTimeout" value="300000" />

              <property name="maxIdleTime" value="300000" />

              <property name="useTmJoin" value="true" />

              <property name="deferConnectionRelease" value="true" />

              <property name="automaticEnlistingEnabled" value="true" />

              <property name="allowLocalTransactions" value="true" />

              <property name="driverProperties">

              <props>

              <prop key="URL">jdbc:oracle:thin:@host:1521:cloudapp

              </prop>

              <prop key="user">test</prop>

              <prop key="password">test</prop>

              </props>

              </property>

              </bean>

             

              <bean id="regionalDS" class="bitronix.tm.resource.jdbc.PoolingDataSource"

              init-method="init" destroy-method="close">

              <property name="className" value="oracle.jdbc.xa.client.OracleXADataSource" />

              <property name="uniqueName" value="regionalDS" />

              <property name="minPoolSize" value="1" />

              <property name="maxPoolSize" value="10" />

              <property name="acquisitionInterval" value="1" />

              <property name="acquisitionTimeout" value="300000" />

              <property name="maxIdleTime" value="300000" />

              <property name="useTmJoin" value="true" />

              <property name="deferConnectionRelease" value="true" />

              <property name="automaticEnlistingEnabled" value="true" />

              <property name="allowLocalTransactions" value="true" />

              <property name="driverProperties">

              <props>

              <prop key="URL">jdbc:oracle:thin:@host:1521:cloudapp

              </prop>

              <prop key="user">test</prop>

              <prop key="password">test</prop>

              </props>

              </property>

              </bean>

             

            </beans>

             

            Thanks,

            Maulee

            • 3. Re: JBPM 6.2 -Spring Integration
              crasybpm

              Hello Maulee,           Can you try some of the solution as mention below  and Let me Know ?           1.) Copy the following libraries to TOMCAT_HOME/lib and Remove From your Web App Classpath           btm-2.1.4.jar         btm-tomcat55-lifecycle-2.1.4.jar         jta-1.1.jar         slf4j-api-1.5.2.jar slf4j-jdk14-1.5.2.jar           2) Copy  btm-config.properties in TOMCAT_HOME/conf     a)  Add transaction and Resource information after 'WatchedResource' line in TOMCAT_HOME/conf/context.xml as shown below.(Please set them as per your mysql settings): WEB-INF/web.xml      b)          c.) Create 'resource.properties' in TOMCAT_HOME/conf as shown below. resource.ds1.className=bitronix.tm.resource.jdbc.lrc.LrcXADataSource resource.ds1.uniqueName=jdbc/cms resource.ds1.minPoolSize=0 resource.ds1.maxPoolSize=5 resource.ds1.driverProperties.driverClassName=com.mysql.jdbc.Driver       d.) Modify TOMCAT_HOME/conf/server.xml to include BTMLifecycleListener after the line that hasGlobalResourcesLifecycleListener as shown below.   I tried this solution in my earlier Project which was in JBPM 5.4. I will give you solution on JBPM 6 with spring till the time can you try above solution if it help for you. Thanks Vishal

              • 4. Re: JBPM 6.2 -Spring Integration
                maulee17

                Hi Vishal,

                 

                I have configured the BTM as you have mentioned. But i am still getting the same error. I have also upgraded my tomcat version to 7.0.65

                hibernate Prooperty for bitronix - <property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.BitronixJtaPlatform" />

                 

                I have configured resources in context.xml only as below. not created resources.properties and btmconfig.properties.

                 

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

                <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor

                  license agreements. See the NOTICE file distributed with this work for additional

                  information regarding copyright ownership. The ASF licenses this file to

                  You under the Apache License, Version 2.0 (the "License"); you may not use

                  this file except in compliance with the License. You may obtain a copy of

                  the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required

                  by applicable law or agreed to in writing, software distributed under the

                  License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS

                  OF ANY KIND, either express or implied. See the License for the specific

                  language governing permissions and limitations under the License. --><!-- The contents of this file will be loaded for each web application -->

                <Context>

                 

                 

                  <!-- Default set of monitored resources -->

                  <WatchedResource>WEB-INF/web.xml</WatchedResource>

                 

                 

                  <Transaction factory="bitronix.tm.BitronixUserTransactionObjectFactory" />

                 

                 

                  <Resource auth="Container" name="UserTransaction"

                  type="javax.transaction.UserTransaction" />

                 

                 

                  <Resource auth="Container"

                  factory="bitronix.tm.BitronixTransactionManagerObjectFactory" name="TransactionManager"

                  type="javax.transaction.TransactionManager" />

                 

                 

                  <Resource auth="Container"

                  factory="bitronix.tm.BitronixTransactionSynchronizationRegistryObjectFactory"

                  name="TransactionSynchronizationRegistry" type="javax.transaction.TransactionSynchronizationRegistry" />

                 

                  <Resource auth="Container" driverClassName="oracle.jdbc.xa.client.OracleXADataSource"

                  logAbandoned="true" initialSize="10" maxActive="30" maxIdle="7"

                  minIdle="5" timeBetweenEvictionRunsMillis="34000"

                  inEvictableIdleTimeMillis="55000" validationQuery="SELECT 1 FROM DUAL"

                  validationInterval="34" testOnBorrow="true" removeAbandoned="true"

                  removeAbandonedTimeout="600" name="jdbc/regionalDS" password="pwd"

                  type="javax.sql.DataSource" url="jdbc:oracle:thin:@host:1521:cloudapp"

                  username="user" />

                  <Resource auth="Container" driverClassName="oracle.jdbc.xa.client.OracleXADataSource"

                  logAbandoned="true" initialSize="10" maxActive="30" maxIdle="7"

                  minIdle="5" timeBetweenEvictionRunsMillis="34000"

                  inEvictableIdleTimeMillis="55000" validationQuery="SELECT 1 FROM DUAL"

                  validationInterval="34" testOnBorrow="true" removeAbandoned="true"

                  removeAbandonedTimeout="600" name="jdbc/globalDS" password="pwd"

                  type="javax.sql.DataSource" url="jdbc:oracle:thin:@host:1521:cloudapp"

                  username="user" />

                 

                 

                </Context>

                 

                but I am still getting the same error . I have added all the required jar to tomcat/lib and also configued server,xml as mentioned.

                 

                Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.jbpm.services.task.audit.JPATaskLifeCycleEventListener]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.jbpm.services.task.audit.JPATaskLifeCycleEventListener.<init>()

                  at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:85)

                  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1069)

                  ... 45 more

                Caused by: java.lang.NoSuchMethodException: org.jbpm.services.task.audit.JPATaskLifeCycleEventListener.<init>()

                  at java.lang.Class.getConstructor0(Class.java:2902)

                • 5. Re: JBPM 6.2 -Spring Integration
                  crasybpm

                  Hello Maulee, Sorry for late reply due to busy work schedule. Can you send me persistence.xml and also verify that task related table created into your database. Regards, Vishal

                  • 6. Re: JBPM 6.2 -Spring Integration
                    maulee17

                    Hi Vishal,

                     

                    Above exception is resolved ,as I configure BTM with Tomcat 7 as per this blog(https://apurvasingh67.wordpress.com/2014/03/03/how-to-install-jbpm6-on-tomcat7-x/).

                    But I am still getting following exception in resource creation :

                     

                    Dec 30, 2015 12:35:18 PM bitronix.tm.resource.ResourceLoader initXAResourceProducers

                    WARNING: unable to create resource with unique name jdbc/globalDS

                    bitronix.tm.resource.ResourceConfigurationException: cannot create JDBC datasource named jdbc/globalDS

                      at bitronix.tm.resource.jdbc.PoolingDataSource.init(PoolingDataSource.java:92)

                      at bitronix.tm.resource.ResourceLoader.initXAResourceProducers(ResourceLoader.java:179)

                      at bitronix.tm.resource.ResourceLoader.init(ResourceLoader.java:152)

                      at bitronix.tm.resource.ResourceLoader.init(ResourceLoader.java:84)

                      at bitronix.tm.BitronixTransactionManager.<init>(BitronixTransactionManager.java:86)

                      at bitronix.tm.TransactionManagerServices.getTransactionManager(TransactionManagerServices.java:75)

                      at bitronix.tm.integration.tomcat55.BTMLifecycleListener.lifecycleEvent(BTMLifecycleListener.java:18)

                      at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)

                      at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)

                      at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)

                      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)

                      at org.apache.catalina.startup.Catalina.start(Catalina.java:689)

                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                      at java.lang.reflect.Method.invoke(Method.java:606)

                      at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)

                      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)

                    Caused by: java.sql.SQLException: unable to connect to non-XA resource null

                      at bitronix.tm.resource.jdbc.lrc.LrcXADataSource.getXAConnection(LrcXADataSource.java:108)

                      at bitronix.tm.resource.jdbc.PoolingDataSource.createPooledConnection(PoolingDataSource.java:341)

                      at bitronix.tm.resource.common.XAPool.createPooledObject(XAPool.java:283)

                      at bitronix.tm.resource.common.XAPool.growUntilMinPoolSize(XAPool.java:400)

                      at bitronix.tm.resource.common.XAPool.init(XAPool.java:71)

                      at bitronix.tm.resource.common.XAPool.<init>(XAPool.java:64)

                      at bitronix.tm.resource.jdbc.PoolingDataSource.buildXAPool(PoolingDataSource.java:101)

                      at bitronix.tm.resource.jdbc.PoolingDataSource.init(PoolingDataSource.java:88)

                      ... 17 more

                    Caused by: java.lang.NullPointerException

                      at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:333)

                      at java.util.concurrent.ConcurrentHashMap.putIfAbsent(ConcurrentHashMap.java:1145)

                      at java.lang.ClassLoader.getClassLoadingLock(ClassLoader.java:464)

                      at java.lang.ClassLoader.loadClass(ClassLoader.java:405)

                      at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

                      at bitronix.tm.utils.ClassLoaderUtils.loadClass(ClassLoaderUtils.java:57)

                      at bitronix.tm.resource.jdbc.lrc.LrcXADataSource.getXAConnection(LrcXADataSource.java:99)

                      ... 24 more