Hi,

I've developed a custom servicemix-bean component that initialize a jbpm engine.

The engine use hibernate and i want to configure the hibernate.cf.xml file to be able to use JTA Transactions.

The hibernate.cfg.xml file looks like:

<hibernate-configuration>
<session-factory>

   <!-- hibernate dialect -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> <property name="hibernate.connection.datasource">java:comp/env/jdbc/jbpm</property> <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.GeronimoTransactionManagerLookup</property> <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property> <property name="hibernate.query.substitutions">true 1, false 0</property> <property name="jta.UserTransaction">java:comp/UserTransaction</property>
.....

And i've declared te jbpm datasource as:

<entry key="java:comp/env/jdbc/jbpm">
       <bean id="jbpm-ds"
class="org.apache.commons.dbcp.managed.BasicManagedDataSource"
             destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/jbpm"/> <property name="username" value="jbpm"/>
             <property name="password" value="jbpm"/>
             <property name="defaultCatalog" value="jbpm"/>
             <property name="transactionManager" ref="transactionManager"/>
<property name="XADataSource" value="com.mysql.jdbc.jdbc2.optional.MysqlXADataSource"/>

       </bean>
     </entry>

Within this configuration the XADatsource to mysql database seems to be configured directly but i've a fault gettin the user transaction. The exception is:

ERROR - JTATransaction - Could not find UserTransaction in JNDI
javax.naming.NamingException: scheme java not recognized
at org.apache.xbean.spring.jndi.DefaultContext.lookup(DefaultContext.java:131)
       at javax.naming.InitialContext.lookup(InitialContext.java:351)
at org.hibernate.transaction.JTATransaction.<init>(JTATransaction.java:60) at org.hibernate.transaction.JTATransactionFactory.createTransaction(JTATransactionFactory.j
ava:57)
at org.hibernate.jdbc.JDBCContext.getTransaction(JDBCContext.java:193) at org.hibernate.impl.SessionImpl.getTransaction(SessionImpl.java:1315) at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1325) at org.jbpm.persistence.db.DbPersistenceService.beginTransaction(DbPersistenceService.java:1
32)
at org.jbpm.persistence.db.DbPersistenceService.getSession(DbPersistenceService.java:124) at org.jbpm.persistence.db.DbPersistenceService.getJobSession(DbPersistenceService.java:369)

       at org.jbpm.JbpmContext.getJobSession(JbpmContext.java:630)
at org.jbpm.job.executor.JobExecutorThread.acquireJobs(JobExecutorThread.java:106) at org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:54) ERROR - JobExecutorThread - exception in job executor thread. waiting 5000 milliseconds

org.hibernate.TransactionException: Could not find UserTransaction in JNDI:
at org.hibernate.transaction.JTATransaction.<init>(JTATransaction.java:64) at org.hibernate.transaction.JTATransactionFactory.createTransaction(JTATransactionFactory.j
ava:57)
at org.hibernate.jdbc.JDBCContext.getTransaction(JDBCContext.java:193) at org.hibernate.impl.SessionImpl.getTransaction(SessionImpl.java:1315) at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1325) at org.jbpm.persistence.db.DbPersistenceService.beginTransaction(DbPersistenceService.java:1
32)
at org.jbpm.persistence.db.DbPersistenceService.getSession(DbPersistenceService.java:124) at org.jbpm.persistence.db.DbPersistenceService.getJobSession(DbPersistenceService.java:369)

       at org.jbpm.JbpmContext.getJobSession(JbpmContext.java:630)
at org.jbpm.job.executor.JobExecutorThread.acquireJobs(JobExecutorThread.java:106) at org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:54)
Caused by: javax.naming.NamingException: scheme java not recognized
at org.apache.xbean.spring.jndi.DefaultContext.lookup(DefaultContext.java:131)
       at javax.naming.InitialContext.lookup(InitialContext.java:351)
at org.hibernate.transaction.JTATransaction.<init>(JTATransaction.java:60)
       ... 10 more
ERROR - JTATransaction - Could not find UserTransaction in JNDI
javax.naming.NamingException: scheme java not recognized
at org.apache.xbean.spring.jndi.DefaultContext.lookup(DefaultContext.java:131)
       at javax.naming.InitialContext.lookup(InitialContext.java:351)
at org.hibernate.transaction.JTATransaction.<init>(JTATransaction.java:60) at org.hibernate.transaction.JTATransactionFactory.createTransaction(JTATransactionFactory.j
ava:57)
at org.hibernate.jdbc.JDBCContext.getTransaction(JDBCContext.java:193) at org.hibernate.impl.SessionImpl.getTransaction(SessionImpl.java:1315) at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1325) at org.jbpm.persistence.db.DbPersistenceService.beginTransaction(DbPersistenceService.java:1
32)
at org.jbpm.persistence.db.DbPersistenceService.getSession(DbPersistenceService.java:124) at org.jbpm.persistence.db.DbPersistenceService.getJobSession(DbPersistenceService.java:369)

       at org.jbpm.JbpmContext.getJobSession(JbpmContext.java:630)
at org.jbpm.job.executor.JobExecutorThread.acquireJobs(JobExecutorThread.java:106) at org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:54) ERROR - JobExecutorThread - exception in job executor thread. waiting 10000 millisecond
s
org.hibernate.TransactionException: Could not find UserTransaction in JNDI:
at org.hibernate.transaction.JTATransaction.<init>(JTATransaction.java:64) at org.hibernate.transaction.JTATransactionFactory.createTransaction(JTATransactionFactory.j
ava:57)
at org.hibernate.jdbc.JDBCContext.getTransaction(JDBCContext.java:193) at org.hibernate.impl.SessionImpl.getTransaction(SessionImpl.java:1315) at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1325) at org.jbpm.persistence.db.DbPersistenceService.beginTransaction(DbPersistenceService.java:1
32)
at org.jbpm.persistence.db.DbPersistenceService.getSession(DbPersistenceService.java:124) at org.jbpm.persistence.db.DbPersistenceService.getJobSession(DbPersistenceService.java:369)

       at org.jbpm.JbpmContext.getJobSession(JbpmContext.java:630)
at org.jbpm.job.executor.JobExecutorThread.acquireJobs(JobExecutorThread.java:106) at org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:54)
Caused by: javax.naming.NamingException: scheme java not recognized
at org.apache.xbean.spring.jndi.DefaultContext.lookup(DefaultContext.java:131)
       at javax.naming.InitialContext.lookup(InitialContext.java:351)
at org.hibernate.transaction.JTATransaction.<init>(JTATransaction.java:60)
       ... 10 more
ERROR - JTATransaction - Could not find UserTransaction in JNDI
javax.naming.NamingException: scheme java not recognized
at org.apache.xbean.spring.jndi.DefaultContext.lookup(DefaultContext.java:131)
       at javax.naming.InitialContext.lookup(InitialContext.java:351)
at org.hibernate.transaction.JTATransaction.<init>(JTATransaction.java:60) at org.hibernate.transaction.JTATransactionFactory.createTransaction(JTATransactionFactory.j
ava:57)
at org.hibernate.jdbc.JDBCContext.getTransaction(JDBCContext.java:193) at org.hibernate.impl.SessionImpl.getTransaction(SessionImpl.java:1315) at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1325) at org.jbpm.persistence.db.DbPersistenceService.beginTransaction(DbPersistenceService.java:1
32)
at org.jbpm.persistence.db.DbPersistenceService.getSession(DbPersistenceService.java:124) at org.jbpm.persistence.db.DbPersistenceService.getJobSession(DbPersistenceService.java:369)

       at org.jbpm.JbpmContext.getJobSession(JbpmContext.java:630)
at org.jbpm.job.executor.JobExecutorThread.acquireJobs(JobExecutorThread.java:106) at org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:54) ERROR - JobExecutorThread - exception in job executor thread. waiting 20000 millisecond
s
org.hibernate.TransactionException: Could not find UserTransaction in JNDI:
at org.hibernate.transaction.JTATransaction.<init>(JTATransaction.java:64) at org.hibernate.transaction.JTATransactionFactory.createTransaction(JTATransactionFactory.j
ava:57)
at org.hibernate.jdbc.JDBCContext.getTransaction(JDBCContext.java:193) at org.hibernate.impl.SessionImpl.getTransaction(SessionImpl.java:1315) at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1325) at org.jbpm.persistence.db.DbPersistenceService.beginTransaction(DbPersistenceService.java:1
32)
at org.jbpm.persistence.db.DbPersistenceService.getSession(DbPersistenceService.java:124) at org.jbpm.persistence.db.DbPersistenceService.getJobSession(DbPersistenceService.java:369)

       at org.jbpm.JbpmContext.getJobSession(JbpmContext.java:630)
at org.jbpm.job.executor.JobExecutorThread.acquireJobs(JobExecutorThread.java:106) at org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:54)
Caused by: javax.naming.NamingException: scheme java not recognized
at org.apache.xbean.spring.jndi.DefaultContext.lookup(DefaultContext.java:131)
       at javax.naming.InitialContext.lookup(InitialContext.java:351)
at org.hibernate.transaction.JTATransaction.<init>(JTATransaction.java:60)
       ... 10 more
ERROR - JTATransaction - Could not find UserTransaction in JNDI
javax.naming.NamingException: scheme java not recognized
at org.apache.xbean.spring.jndi.DefaultContext.lookup(DefaultContext.java:131)
       at javax.naming.InitialContext.lookup(InitialContext.java:351)
at org.hibernate.transaction.JTATransaction.<init>(JTATransaction.java:60) at org.hibernate.transaction.JTATransactionFactory.createTransaction(JTATransactionFactory.j
ava:57)
at org.hibernate.jdbc.JDBCContext.getTransaction(JDBCContext.java:193) at org.hibernate.impl.SessionImpl.getTransaction(SessionImpl.java:1315) at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1325) at org.jbpm.persistence.db.DbPersistenceService.beginTransaction(DbPersistenceService.java:1
32)
at org.jbpm.persistence.db.DbPersistenceService.getSession(DbPersistenceService.java:124) at org.jbpm.persistence.db.DbPersistenceService.getJobSession(DbPersistenceService.java:369)

       at org.jbpm.JbpmContext.getJobSession(JbpmContext.java:630)
at org.jbpm.job.executor.JobExecutorThread.acquireJobs(JobExecutorThread.java:106) at org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:54) ERROR - JobExecutorThread - exception in job executor thread. waiting 40000 millisecond
s
org.hibernate.TransactionException: Could not find UserTransaction in JNDI:
at org.hibernate.transaction.JTATransaction.<init>(JTATransaction.java:64) at org.hibernate.transaction.JTATransactionFactory.createTransaction(JTATransactionFactory.j
ava:57)
at org.hibernate.jdbc.JDBCContext.getTransaction(JDBCContext.java:193) at org.hibernate.impl.SessionImpl.getTransaction(SessionImpl.java:1315) at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1325) at org.jbpm.persistence.db.DbPersistenceService.beginTransaction(DbPersistenceService.java:1
32)
at org.jbpm.persistence.db.DbPersistenceService.getSession(DbPersistenceService.java:124) at org.jbpm.persistence.db.DbPersistenceService.getJobSession(DbPersistenceService.java:369)

       at org.jbpm.JbpmContext.getJobSession(JbpmContext.java:630)
at org.jbpm.job.executor.JobExecutorThread.acquireJobs(JobExecutorThread.java:106) at org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:54)
Caused by: javax.naming.NamingException: scheme java not recognized
at org.apache.xbean.spring.jndi.DefaultContext.lookup(DefaultContext.java:131)
       at javax.naming.InitialContext.lookup(InitialContext.java:351)
at org.hibernate.transaction.JTATransaction.<init>(JTATransaction.java:60)
       ... 10 more

Any idea???

Reply via email to