Yap Poh Soon created CAMEL-8721:
-----------------------------------
Summary: Idempotent unable to define property:CamelDuplicateMessage
Key: CAMEL-8721
URL: https://issues.apache.org/jira/browse/CAMEL-8721
Project: Camel
Issue Type: Bug
Affects Versions: 2.15.1, 2.15.0
Reporter: Yap Poh Soon
All works fine in Camel v2.14.2, and i wanted to upgrade because of the
RabbitMq Priority and AWS S3 multiPartUpload support.
However, when using Camel 2.15.0 (or 2.15.1), the property configuration failed
within the Idempotent EIP component. see below at "line 62"
{noformat}
<route id="consumeAdServerQueue" errorHandlerRef="dlc">
<!-- receive work from a queue -->
<from
uri="rabbitmq://localhost/adserver?queue=ad_google_dfa_reporting_queue&routingKey=ad_google_dfa_reporting_queue&declare=false&autoAck=false&prefetchEnabled=true&prefetchCount=2&concurrentConsumers=1"/>
<idempotentConsumer messageIdRepositoryRef="memoryRepo"
skipDuplicate="false">
<!-- use the messageId header as key for identifying duplicate
messages -->
<header>messageId</header>
<!-- we will to handle duplicate messages using a filter -->
<filter>
<!-- the filter will only react on duplicate messages,
if this property is set on the Exchange -->
<!--line 62 --> <property>CamelDuplicateMessage</property>
<log message="duplicate request ${header.messageId}"/>
<!-- and then stop -->
<stop/>
</filter>
<to
uri="rabbitmq://localhost/adserver?queue=ad_google_dfa_reporting_stage_queue&routingKey=ad_google_dfa_reporting_stage_queue&declare=false&bridgeEndpoint=true"/>
</idempotentConsumer>
</route>
{noformat}
With error:
{noformat}
[localhost-startStop-1] 16:43:19,716 ERROR
org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
Configuration problem: Failed to import bean definitions from relative location
[app-dfareporting-camel-context.xml]
Offending resource: ServletContext resource
[/WEB-INF/spring/app-root-context.xml]; nested exception is
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 62
in XML document from ServletContext resource
[/WEB-INF/spring/app-dfareporting-camel-context.xml] is invalid; nested
exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid
content was found starting with element 'property'. One of
'{"http://camel.apache.org/schema/spring":description,
"http://camel.apache.org/schema/spring":expressionDefinition,
"http://camel.apache.org/schema/spring":constant,
"http://camel.apache.org/schema/spring":el,
"http://camel.apache.org/schema/spring":exchangeProperty,
"http://camel.apache.org/schema/spring":groovy,
"http://camel.apache.org/schema/spring":header,
"http://camel.apache.org/schema/spring":jxpath,
"http://camel.apache.org/schema/spring":javaScript,
"http://camel.apache.org/schema/spring":jsonpath,
"http://camel.apache.org/schema/spring":language,
"http://camel.apache.org/schema/spring":method,
"http://camel.apache.org/schema/spring":mvel,
"http://camel.apache.org/schema/spring":ognl,
"http://camel.apache.org/schema/spring":php,
"http://camel.apache.org/schema/spring":python,
"http://camel.apache.org/schema/spring":ref,
"http://camel.apache.org/schema/spring":ruby,
"http://camel.apache.org/schema/spring":simple,
"http://camel.apache.org/schema/spring":spel,
"http://camel.apache.org/schema/spring":sql,
"http://camel.apache.org/schema/spring":terser,
"http://camel.apache.org/schema/spring":tokenize,
"http://camel.apache.org/schema/spring":vtdxml,
"http://camel.apache.org/schema/spring":xtokenize,
"http://camel.apache.org/schema/spring":xpath,
"http://camel.apache.org/schema/spring":xquery}' is expected.
at
org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
at
org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
at
org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:76)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:272)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:197)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:182)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:139)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:108)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
at
org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
at
org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
at
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
at
org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451)
at
org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
at
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:670)
at
org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1839)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)
Caused by:
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 62
in XML document from ServletContext resource
[/WEB-INF/spring/app-dfareporting-camel-context.xml] is invalid; nested
exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid
content was found starting with element 'property'. One of
'{"http://camel.apache.org/schema/spring":description,
"http://camel.apache.org/schema/spring":expressionDefinition,
"http://camel.apache.org/schema/spring":constant,
"http://camel.apache.org/schema/spring":el,
"http://camel.apache.org/schema/spring":exchangeProperty,
"http://camel.apache.org/schema/spring":groovy,
"http://camel.apache.org/schema/spring":header,
"http://camel.apache.org/schema/spring":jxpath,
"http://camel.apache.org/schema/spring":javaScript,
"http://camel.apache.org/schema/spring":jsonpath,
"http://camel.apache.org/schema/spring":language,
"http://camel.apache.org/schema/spring":method,
"http://camel.apache.org/schema/spring":mvel,
"http://camel.apache.org/schema/spring":ognl,
"http://camel.apache.org/schema/spring":php,
"http://camel.apache.org/schema/spring":python,
"http://camel.apache.org/schema/spring":ref,
"http://camel.apache.org/schema/spring":ruby,
"http://camel.apache.org/schema/spring":simple,
"http://camel.apache.org/schema/spring":spel,
"http://camel.apache.org/schema/spring":sql,
"http://camel.apache.org/schema/spring":terser,
"http://camel.apache.org/schema/spring":tokenize,
"http://camel.apache.org/schema/spring":vtdxml,
"http://camel.apache.org/schema/spring":xtokenize,
"http://camel.apache.org/schema/spring":xpath,
"http://camel.apache.org/schema/spring":xquery}' is expected.
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:256)
... 33 more
Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid
content was found starting with element 'property'. One of
'{"http://camel.apache.org/schema/spring":description,
"http://camel.apache.org/schema/spring":expressionDefinition,
"http://camel.apache.org/schema/spring":constant,
"http://camel.apache.org/schema/spring":el,
"http://camel.apache.org/schema/spring":exchangeProperty,
"http://camel.apache.org/schema/spring":groovy,
"http://camel.apache.org/schema/spring":header,
"http://camel.apache.org/schema/spring":jxpath,
"http://camel.apache.org/schema/spring":javaScript,
"http://camel.apache.org/schema/spring":jsonpath,
"http://camel.apache.org/schema/spring":language,
"http://camel.apache.org/schema/spring":method,
"http://camel.apache.org/schema/spring":mvel,
"http://camel.apache.org/schema/spring":ognl,
"http://camel.apache.org/schema/spring":php,
"http://camel.apache.org/schema/spring":python,
"http://camel.apache.org/schema/spring":ref,
"http://camel.apache.org/schema/spring":ruby,
"http://camel.apache.org/schema/spring":simple,
"http://camel.apache.org/schema/spring":spel,
"http://camel.apache.org/schema/spring":sql,
"http://camel.apache.org/schema/spring":terser,
"http://camel.apache.org/schema/spring":tokenize,
"http://camel.apache.org/schema/spring":vtdxml,
"http://camel.apache.org/schema/spring":xtokenize,
"http://camel.apache.org/schema/spring":xpath,
"http://camel.apache.org/schema/spring":xquery}' is expected.
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:423)
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3188)
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1812)
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:711)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2756)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at
com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:232)
at
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
at
org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:388)
... 36 more
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)