Hi community, This current project use JPA based idempotent repository and have exception:
[Camel (camel-1) thread #0 -] WARN org.apache.camel.component.file.FileConsumer - Consumer Consumer[file://D:%5C1?idempotent=true&idempotentRepository=%23jpaStore] failed polling endpoint: Endpoint[file://D:%5C1?idempotent=true&idempotentRepository=%23jpaStore]. Will try again at next poll. Caused by: [org.apache.openjpa.persistence.InvalidStateException - This broker is not configured to use managed transactions.] <openjpa-2.4.0-r422266:1674604 nonfatal user error> org.apache.openjpa.persistence.InvalidStateException: This broker is not configured to use managed transactions. at org.apache.openjpa.kernel.BrokerImpl.syncWithManagedTransaction(BrokerImpl.java:1569) at org.apache.openjpa.kernel.DelegatingBroker.syncWithManagedTransaction(DelegatingBroker.java:948) at org.apache.openjpa.persistence.EntityManagerImpl.joinTransaction(EntityManagerImpl.java:558) at org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository$2.doInTransaction(JpaMessageIdRepository.java:131) at org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository$2.doInTransaction(JpaMessageIdRepository.java:128) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133) at org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository.contains(JpaMessageIdRepository.java:128) at org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository.contains(JpaMessageIdRepository.java:120) at org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository.contains(JpaMessageIdRepository.java:47) at org.apache.camel.component.file.GenericFileConsumer.isValidFile(GenericFileConsumer.java:544) at org.apache.camel.component.file.FileConsumer.pollDirectory(FileConsumer.java:96) at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:119) at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:174) at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:101) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Code: EntityManagerFactory emf = Persistence.createEntityManagerFactory("idempotentDb"); JpaMessageIdRepository jpaStore = new JpaMessageIdRepository(emf, "AlphaConsumer"); SimpleRegistry reg = new SimpleRegistry(); reg.put("jpaStore", jpaStore); CamelContext context = new DefaultCamelContext(reg); *<?**xml version=**"1.0" **encoding=**"UTF-8" * *?> *<*persistence **version=**"2.0" **xmlns=* *"http://java.sun.com/xml/ns/persistence <http://java.sun.com/xml/ns/persistence>" **xmlns:**xsi**=* *"http://www.w3.org/2001/XMLSchema-instance <http://www.w3.org/2001/XMLSchema-instance>" * *xsi:schemaLocation=**"http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd <http://java.sun.com/xml/ns/persistence%20http:/java.sun.com/xml/ns/persistence/persistence_2_0.xsd>"* > <*persistence-unit **name=**"idempotentDb" **transaction-type=* *"RESOURCE_LOCAL"*> <*class*>org.apache.camel.processor.idempotent.jpa.MessageProcessed </*class*> <*properties*> <*property **name=**"openjpa.ConnectionURL" **value=* *"jdbc:oracle:thin:@*****"*/> <*property **name=**"openjpa.ConnectionDriverName" **value=* *"oracle.jdbc.driver.OracleDriver"*/> <*property **name=**"openjpa.ConnectionUserName" **value=* *"***"*/> <*property **name=**"openjpa.ConnectionPassword" **value=**"***"* /> <*property **name=**"openjpa.Log" **value=**"DefaultLevel=WARN, Tool=INFO"*/> <*property **name=**"openjpa.Multithreaded" **value=**"true"*/> </*properties*> </*persistence-unit*> </*persistence*> -- Best regards Max Kozlov aka dream-x