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.