Hi Folks,
   I have successfully integrated transaction manager(Atomikos) with Camel
SQL + JMS using SPRING.
But I wish to use JPA instead of sql component. I have hooked atomikos with
DATASOURCE and JMS.
But dont know how to hook atomikos to JPA. I am attaching my source and
stacktrace below. Please help me with this issue. Also FYI I am using
hibernate 4 which works with CAMEL and SPRING *WITHOUT* Atomikos but fails
when used with atomikos saying "/org.hibernate.TransactionException: commit
failed/".

   And the example on Atomikos website use hibernate 3 and i have no clue
how to hook this to CAMEL.
Can some one help me to hook Atomikos + hibernate3 + CAMEL so that I can
atleast degrade my hibernate from 4.0 to 3.0.

Thanks In Advance.

ERROR
#######################################
[l) thread #2 - JmsConsumer[Q1]] atomikos                       INFO 
XAResource.start (
3139322E3136382E3136392E32342E746D30303030313030303537:3139322E3136382E3136392E32342E746D31
, XAResource.TMNOFLAGS ) on resource My_MQSeries_XA_RMI represented by
XAResource instance com.ibm.mq.jmqi.JmqiXAResource@558fee4f
############## Test Message: Darpan1 ###############
[l) thread #2 - JmsConsumer[Q1]] atomikos                       INFO 
addParticipant ( XAResourceTransaction:
3139322E3136382E3136392E32342E746D30303030313030303537:3139322E3136382E3136392E32342E746D32
) for transaction 192.168.169.24.tm0000100057
[l) thread #2 - JmsConsumer[Q1]] atomikos                       INFO 
XAResource.start (
3139322E3136382E3136392E32342E746D30303030313030303537:3139322E3136382E3136392E32342E746D32
, XAResource.TMNOFLAGS ) on resource XADBMS represented by XAResource
instance oracle.jdbc.driver.T4CXAResource@5bf825cc
[l) thread #2 - JmsConsumer[Q1]] atomikos                       INFO 
registerSynchronization (
com.atomikos.jdbc.AtomikosConnectionProxy$JdbcRequeueSynchronization@43eef0cd
) for transaction 192.168.169.24.tm0000100057
Hibernate: 
    select
        darpantest0_.testid as testid0_0_,
        darpantest0_.testname as testname0_0_ 
    from
        darpantest darpantest0_ 
    where
        darpantest0_.testid=?
[l) thread #2 - JmsConsumer[Q1]] atomikos                       INFO 
registerSynchronization (
com.atomikos.jdbc.AtomikosConnectionProxy$JdbcRequeueSynchronization@43eef0cd
) for transaction 192.168.169.24.tm0000100057
Hibernate: 
    insert 
    into
        darpantest
        (testname, testid) 
    values
        (?, ?)
[l) thread #2 - JmsConsumer[Q1]] atomikos                       WARN  Cannot
call method 'commit' while a global transaction is running
[l) thread #2 - JmsConsumer[Q1]] atomikos                       WARN  Cannot
call 'setAutoCommit(true)' while a global transaction is running
[l) thread #2 - JmsConsumer[Q1]] atomikos                       INFO 
XAResource.end (
3139322E3136382E3136392E32342E746D30303030313030303537:3139322E3136382E3136392E32342E746D32
, XAResource.TMSUCCESS ) on resource XADBMS represented by XAResource
instance oracle.jdbc.driver.T4CXAResource@5bf825cc
[l) thread #2 - JmsConsumer[Q1]] DefaultErrorHandler            ERROR Failed
delivery for (MessageId: ID:414d5120514d5f626f6f7261646c65798ba9bf4f200ace02
on ExchangeId: ID-booradley-55966-1337982946182-0-1). Exhausted after
delivery attempt: 1 caught:
org.springframework.orm.hibernate3.HibernateSystemException: commit failed;
nested exception is org.hibernate.TransactionException: commit failed
org.springframework.orm.hibernate3.HibernateSystemException: commit failed;
nested exception is org.hibernate.TransactionException: commit failed
        at
org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:679)[spring-orm-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at
org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:102)[spring-orm-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at
org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:471)[spring-orm-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)[spring-tx-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)[spring-tx-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at
org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:147)[spring-tx-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at
org.apache.camel.component.jpa.JpaTemplateTransactionStrategy.execute(JpaTemplateTransactionStrategy.java:78)[file:/D:/workspace/OceanviewEIP3/bin/:]
        at
org.apache.camel.component.jpa.JpaProducer.process(JpaProducer.java:50)[file:/D:/workspace/OceanviewEIP3/bin/:]
        at
org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:56)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:115)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:285)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:110)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:56)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:71)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:56)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:56)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:333)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:223)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:304)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:56)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.Pipeline.process(Pipeline.java:117)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:56)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:333)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:223)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:218)[camel-spring-2.9.2.jar:2.9.2]
        at
org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:96)[camel-spring-2.9.2.jar:2.9.2]
        at
org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:109)[camel-spring-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:56)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:56)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:71)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:56)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:56)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:333)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:223)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:218)[camel-spring-2.9.2.jar:2.9.2]
        at
org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:178)[camel-spring-2.9.2.jar:2.9.2]
        at
org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)[spring-tx-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at
org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)[spring-tx-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at
org.apache.camel.spring.spi.TransactionErrorHandler.doInTransactionTemplate(TransactionErrorHandler.java:171)[camel-spring-2.9.2.jar:2.9.2]
        at
org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(TransactionErrorHandler.java:131)[camel-spring-2.9.2.jar:2.9.2]
        at
org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:100)[camel-spring-2.9.2.jar:2.9.2]
        at
org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:109)[camel-spring-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:304)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:50)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:71)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86)[camel-core-2.9.2.jar:2.9.2]
        at
org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:104)[camel-jms-2.9.2.jar:2.9.2]
        at
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:560)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:243)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_23]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_23]
        at java.lang.Thread.run(Thread.java:662)[:1.6.0_23]
[l) thread #2 - JmsConsumer[Q1]] atomikos                       INFO 
setRollbackOnly() called for transaction 192.168.169.24.tm0000100057
[l) thread #2 - JmsConsumer[Q1]] TransactionErrorHandler        WARN 
Transaction rollback (0x777490ad) redelivered(true) for (MessageId:
ID:414d5120514d5f626f6f7261646c65798ba9bf4f200ace02 on ExchangeId:
ID-booradley-55966-1337982946182-0-1) caught:
org.springframework.orm.hibernate3.HibernateSystemException: commit failed;
nested exception is org.hibernate.TransactionException: commit failed
[l) thread #2 - JmsConsumer[Q1]] EndpointMessageListener        WARN 
Execution of JMS message listener failed. Caused by:
[org.apache.camel.RuntimeCamelException -
org.springframework.orm.hibernate3.HibernateSystemException: commit failed;
nested exception is org.hibernate.TransactionException: commit failed]

################################################
ROUTE
###################################################
        <route id="oceanview-route-jms">
                        <from uri="test-jms:queue:Q1?transacted=true" />
                        <to uri="bean:printer?method=printFileNames" />
                        <process ref="jmsProcessor" />
                        <transacted ref="PROPAGATION_REQUIRED"/>
                        <to
uri="jpa:org.apache.camel.example.spring.DarpanTest?entityType=java.util.ArrayList"
/>
                </route> 
######################################################
JMS PROCESSOR
#########################################################

public class JMSProcessor implements Processor{

        @Override
        public void process(Exchange arg0) throws Exception {

                Object obj = arg0.getIn().getBody();            
        
                DarpanTest dt = new DarpanTest();
                dt.setTestid(102);
                dt.setTestname(obj.toString());
                List<DarpanTest> li = new ArrayList<DarpanTest>();
                li.add(dt);
                arg0.getIn().setBody(li);
        }
############################################
JMS
##############################################
<bean id="mqConnectionFactory"
class="com.ibm.mq.jms.MQXAQueueConnectionFactory">
                <property name="hostName" value="192.168.169.24" />
                <property name="port" value="1414" />
                <property name="queueManager" value="QM_booradley" />
                <property name="channel" value="S_booradley" />
                <property name="transportType" value="1" />
        </bean>
        
        <bean id="atomikosConnectionFactory"
class="com.atomikos.jms.AtomikosConnectionFactoryBean" 
      init-method="init" destroy-method="close"> 
                <property name="xaConnectionFactory"><ref
bean="mqConnectionFactory"/></property> 
                <property name="uniqueResourceName" 
value="My_MQSeries_XA_RMI"/> 
                <property name="maxPoolSize" value="3"/>
        </bean>

        <bean id="jmsConfig"
class="org.apache.camel.component.jms.JmsConfiguration">
                <property name="connectionFactory" 
ref="atomikosConnectionFactory" />
                <property name="transactionManager" 
ref="JtaTransactionManager"/>
        </bean>

        <bean id="test-jms" class="org.apache.camel.component.jms.JmsComponent">
                <property name="configuration" ref="jmsConfig" />
        </bean>

        <bean id="errorHandler"
class="org.apache.camel.spring.spi.TransactionErrorHandlerBuilder">
        <property name="springTransactionPolicy" ref="PROPAGATION_REQUIRED"/>
        </bean>
########################################################
ATOMIKOS
#################################################
<bean id="AtomikosTransactionManager"
class="com.atomikos.icatch.jta.UserTransactionManager"
                init-method="init" destroy-method="close">
                
                <property name="forceShutdown" value="false" />
        </bean>

        
        <bean id="AtomikosUserTransaction"
class="com.atomikos.icatch.jta.UserTransactionImp">
                <property name="transactionTimeout" value="50" />
        </bean>

        <bean id="JtaTransactionManager"
                
class="org.springframework.transaction.jta.JtaTransactionManager">
                <property name="transactionManager" 
ref="AtomikosTransactionManager" />
                <property name="userTransaction" ref="AtomikosUserTransaction" 
/>
        </bean>
        
        <bean id="PROPAGATION_REQUIRED"
class="org.apache.camel.spring.spi.SpringTransactionPolicy">
        <property name="transactionManager" ref="JtaTransactionManager"/>
        <property name="propagationBehaviorName"
value="PROPAGATION_REQUIRED"/>
    </bean>

########################################
DATA SOURCE
##########################################
<bean id="dataSource" class="com.atomikos.jdbc.AtomikosDataSourceBean"
init-method="init" destroy-method="close">              
                <property
name="xaDataSourceClassName"><value>oracle.jdbc.xa.client.OracleXADataSource</value></property>
                <property 
name="uniqueResourceName"><value>XADBMS</value></property>
                <property name="xaProperties">
            <props>
              <prop key="serverName">192.168.169.110</prop>
              <prop key="portNumber">1521</prop>
              <prop key="databaseName">SWQA</prop>
              <prop key="user">dev</prop>
              <prop key="password">dev</prop>
              <prop key="driverType">4</prop>
              <prop key="URL">jdbc:oracle:thin:@192.168.169.110:1521:SWQA</prop>
             </props>
          </property>
           <property name="poolSize" value="3"/> 
        </bean> 

        <bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
                <property name="dataSource" ref="dataSource"/> 
        </bean>

#############################################
JPA
##########################################
<bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent">
                <property name="entityManagerFactory" 
ref="entityManagerFactory" />
        </bean>

        <bean id="transactionTemplate"
                
class="org.springframework.transaction.support.TransactionTemplate">
                <property name="transactionManager">
                        <bean 
class="org.springframework.orm.jpa.JpaTransactionManager">
                                <property name="entityManagerFactory" 
ref="entityManagerFactory" />
                                <property name="dataSource" ref="dataSource" />
                        </bean>
                </property>
        </bean>
        
        <bean id="jpaTemplate" class="org.springframework.orm.jpa.JpaTemplate">
                <property name="entityManagerFactory" 
ref="entityManagerFactory" />
        </bean>
        
        <bean id="entityManagerFactory"
        
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
                <property name="persistenceUnitName" value="camel" />
                <property name="jpaVendorAdapter" ref="jpaAdapter" />
                <property name="dataSource" ref="dataSource" />
        </bean>
        
        <bean id="jpaAdapter"
                
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />


###########################################################
persistence
########################################################
<persistence xmlns="http://java.sun.com/xml/ns/persistence";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; version="1.0">

        <persistence-unit name="camel" >
                <class>org.apache.camel.example.spring.DarpanTest</class>       
        
                <properties>
                        <property name="hibernate.archive.autodetection" 
value="class" />
                        <property name="hibernate.show_sql" value="true" />
                        <property name="hibernate.format_sql" value="true" />
                        <property name="hibernate.dialect"
value="org.hibernate.dialect.Oracle10gDialect" />
                </properties>
        </persistence-unit>
</persistence>



--
View this message in context: 
http://camel.465427.n5.nabble.com/Need-help-with-Camel-JPA-Atomikos-tp5713578.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to