[
https://issues.apache.org/activemq/browse/CAMEL-80?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James Strachan resolved CAMEL-80.
---------------------------------
Resolution: Fixed
Patch applied with thanks! can you double check all the patches you intended
have been applied correctly please? We can reopen if we've missed anything
> JpaIdempotentConsumerTest fails on multiple runs
> ------------------------------------------------
>
> Key: CAMEL-80
> URL: https://issues.apache.org/activemq/browse/CAMEL-80
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-jpa
> Environment: win/32
> Reporter: Hadrian Zbarcea
> Assignee: Hadrian Zbarcea
> Fix For: 1.2.0
>
> Attachments: camel-80.patch, camel-jpa.patch
>
>
> Caused by:
> <4|true|0.9.6-incubating> org.apache.openjpa.persistence.ArgumentException:
> The type "class org.apache.camel.processor.idempotent.jpa.MessageProcessed"
> has not been enhanced.
> at
> org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1590)
> at
> org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1564)
> at
> org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:654)
> at
> org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:554)
> at
> org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:479)
> at
> org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:283)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getClassMetaData(JPQLExpressionBuilder.java:162)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.resolveClassMetaData(JPQLExpressionBuilder.java:131)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:211)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:181)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateType(JPQLExpressionBuilder.java:174)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.access$500(JPQLExpressionBuilder.java:61)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.populate(JPQLExpressionBuilder.java:1657)
> at
> org.apache.openjpa.kernel.jpql.JPQLParser.populate(JPQLParser.java:52)
> at
> org.apache.openjpa.kernel.ExpressionStoreQuery.populateFromCompilation(ExpressionStoreQuery.java:145)
> at
> org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:642)
> at
> org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:623)
> at
> org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:589)
> at
> org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:651)
> at org.apache.openjpa.kernel.QueryImpl.getOperation(QueryImpl.java:1464)
> at
> org.apache.openjpa.kernel.DelegatingQuery.getOperation(DelegatingQuery.java:120)
> at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:202)
> at
> org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:251)
> at
> org.springframework.orm.jpa.JpaTemplate$9.doInJpa(JpaTemplate.java:313)
> at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:191)
> at
> org.springframework.orm.jpa.JpaTemplate.executeFind(JpaTemplate.java:158)
> at org.springframework.orm.jpa.JpaTemplate.find(JpaTemplate.java:305)
> at
> org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository$1.doInTransaction(JpaMessageIdRepository.java:76)
> at
> org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:127)
> at
> org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository.contains(JpaMessageIdRepository.java:73)
> at
> org.apache.camel.processor.idempotent.IdempotentConsumer.process(IdempotentConsumer.java:57)
> at
> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:77)
> at
> org.apache.camel.component.direct.DirectEndpoint.process(DirectEndpoint.java:65)
> at
> org.apache.camel.component.direct.DirectEndpoint$1.process(DirectEndpoint.java:54)
> at org.apache.camel.util.ProducerCache.send(ProducerCache.java:91)
> at org.apache.camel.CamelTemplate.send(CamelTemplate.java:93)
> at
> org.apache.camel.processor.IdempotentConsumerTest.sendMessage(IdempotentConsumerTest.java:51)
> at
> org.apache.camel.processor.IdempotentConsumerTest.testDuplicateMessagesAreFilteredOut(IdempotentConsumerTest.java:40)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at junit.framework.TestCase.runTest(TestCase.java:168)
> at junit.framework.TestCase.runBare(TestCase.java:134)
> at junit.framework.TestResult$1.protect(TestResult.java:110)
> at junit.framework.TestResult.runProtected(TestResult.java:128)
> at junit.framework.TestResult.run(TestResult.java:113)
> at junit.framework.TestCase.run(TestCase.java:124)
> at junit.framework.TestSuite.runTest(TestSuite.java:232)
> at junit.framework.TestSuite.run(TestSuite.java:227)
> at
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
> at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> [ main] DeadLetterChannel ERROR On
> delivery attempt: 3 caught:
> org.springframework.dao.InvalidDataAccessApiUsageException: The type "class
> org.apache.camel.processor.idempotent.jpa.MessageProcessed" has not been
> enhanced.; nested exception is <4|true|0.9.6-incubating>
> org.apache.openjpa.persistence.ArgumentException: The type "class
> org.apache.camel.processor.idempotent.jpa.MessageProcessed" has not been
> enhanced.
> org.springframework.dao.InvalidDataAccessApiUsageException: The type "class
> org.apache.camel.processor.idempotent.jpa.MessageProcessed" has not been
> enhanced.; nested exception is <4|true|0.9.6-incubating>
> org.apache.openjpa.persistence.ArgumentException: The type "class
> org.apache.camel.processor.idempotent.jpa.MessageProcessed" has not been
> enhanced.
> Caused by:
> <4|true|0.9.6-incubating> org.apache.openjpa.persistence.ArgumentException:
> The type "class org.apache.camel.processor.idempotent.jpa.MessageProcessed"
> has not been enhanced.
> at
> org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1590)
> at
> org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1564)
> at
> org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:654)
> at
> org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:554)
> at
> org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:479)
> at
> org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:283)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getClassMetaData(JPQLExpressionBuilder.java:162)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.resolveClassMetaData(JPQLExpressionBuilder.java:131)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:211)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:181)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateType(JPQLExpressionBuilder.java:174)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.access$500(JPQLExpressionBuilder.java:61)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.populate(JPQLExpressionBuilder.java:1657)
> at
> org.apache.openjpa.kernel.jpql.JPQLParser.populate(JPQLParser.java:52)
> at
> org.apache.openjpa.kernel.ExpressionStoreQuery.populateFromCompilation(ExpressionStoreQuery.java:145)
> at
> org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:642)
> at
> org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:623)
> at
> org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:589)
> at
> org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:651)
> at org.apache.openjpa.kernel.QueryImpl.getOperation(QueryImpl.java:1464)
> at
> org.apache.openjpa.kernel.DelegatingQuery.getOperation(DelegatingQuery.java:120)
> at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:202)
> at
> org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:251)
> at
> org.springframework.orm.jpa.JpaTemplate$9.doInJpa(JpaTemplate.java:313)
> at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:191)
> at
> org.springframework.orm.jpa.JpaTemplate.executeFind(JpaTemplate.java:158)
> at org.springframework.orm.jpa.JpaTemplate.find(JpaTemplate.java:305)
> at
> org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository$1.doInTransaction(JpaMessageIdRepository.java:76)
> at
> org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:127)
> at
> org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository.contains(JpaMessageIdRepository.java:73)
> at
> org.apache.camel.processor.idempotent.IdempotentConsumer.process(IdempotentConsumer.java:57)
> at
> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:77)
> at
> org.apache.camel.component.direct.DirectEndpoint.process(DirectEndpoint.java:65)
> at
> org.apache.camel.component.direct.DirectEndpoint$1.process(DirectEndpoint.java:54)
> at org.apache.camel.util.ProducerCache.send(ProducerCache.java:91)
> at org.apache.camel.CamelTemplate.send(CamelTemplate.java:93)
> at
> org.apache.camel.processor.IdempotentConsumerTest.sendMessage(IdempotentConsumerTest.java:51)
> at
> org.apache.camel.processor.IdempotentConsumerTest.testDuplicateMessagesAreFilteredOut(IdempotentConsumerTest.java:40)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at junit.framework.TestCase.runTest(TestCase.java:168)
> at junit.framework.TestCase.runBare(TestCase.java:134)
> at junit.framework.TestResult$1.protect(TestResult.java:110)
> at junit.framework.TestResult.runProtected(TestResult.java:128)
> at junit.framework.TestResult.run(TestResult.java:113)
> at junit.framework.TestCase.run(TestCase.java:124)
> at junit.framework.TestSuite.runTest(TestSuite.java:232)
> at junit.framework.TestSuite.run(TestSuite.java:227)
> at
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
> at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> [ main] DeadLetterChannel ERROR On
> delivery attempt: 4 caught:
> org.springframework.dao.InvalidDataAccessApiUsageException: The type "class
> org.apache.camel.processor.idempotent.jpa.MessageProcessed" has not been
> enhanced.; nested exception is <4|true|0.9.6-incubating>
> org.apache.openjpa.persistence.ArgumentException: The type "class
> org.apache.camel.processor.idempotent.jpa.MessageProcessed" has not been
> enhanced.
> org.springframework.dao.InvalidDataAccessApiUsageException: The type "class
> org.apache.camel.processor.idempotent.jpa.MessageProcessed" has not been
> enhanced.; nested exception is <4|true|0.9.6-incubating>
> org.apache.openjpa.persistence.ArgumentException: The type "class
> org.apache.camel.processor.idempotent.jpa.MessageProcessed" has not been
> enhanced.
> Caused by:
> <4|true|0.9.6-incubating> org.apache.openjpa.persistence.ArgumentException:
> The type "class org.apache.camel.processor.idempotent.jpa.MessageProcessed"
> has not been enhanced.
> at
> org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1590)
> at
> org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1564)
> at
> org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:654)
> at
> org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:554)
> at
> org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:479)
> at
> org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:283)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getClassMetaData(JPQLExpressionBuilder.java:162)
> [...]
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.