Threading issue which lets converter loading abort
--------------------------------------------------
Key: CAMEL-3277
URL: https://issues.apache.org/activemq/browse/CAMEL-3277
Project: Apache Camel
Issue Type: Bug
Components: camel-core
Affects Versions: 2.4.0
Environment: SMX 4
Reporter: Lars Heinemann
Attachments: patch.diff
The type converter loading is not threadsafe and fails sometimes. That will end
up with around 17 type converters loaded only which will probably let your
camel routes fail with conversion errors like:
{noformat}
07:04:31,112 | ERROR | qtp25205731-2783 | DefaultErrorHandler |
rg.apache.camel.processor.Logger 248 | 68 - org.apache.camel.camel-core -
2.4.0.fuse-00-00 | Failed delivery for exchangeId:
53e23457-5551-4487-9fc4-87dd33687f0b. Exhausted after delivery attempt: 1
caught: java.lang.ClassCastException:
org.apache.camel.converter.stream.InputStreamCache cannot be cast to
org.w3c.dom.Node
java.lang.ClassCastException:
org.apache.camel.converter.stream.InputStreamCache cannot be cast to
org.w3c.dom.Node
at
com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.eval(XPathExpressionImpl.java:116)[:1.6.0_17]
at
com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.eval(XPathExpressionImpl.java:98)[:1.6.0_17]
at
com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.evaluate(XPathExpressionImpl.java:180)[:1.6.0_17]
at
org.apache.camel.builder.xml.XPathBuilder.doInEvaluateAs(XPathBuilder.java:598)[68:org.apache.camel.camel-core:2.4.0.fuse-00-00]
at
org.apache.camel.builder.xml.XPathBuilder.evaluateAs(XPathBuilder.java:570)[68:org.apache.camel.camel-core:2.4.0.fuse-00-00]
at
org.apache.camel.builder.xml.XPathBuilder.matches(XPathBuilder.java:122)[68:org.apache.camel.camel-core:2.4.0.fuse-00-00]
{noformat}
Tracking the issue down showed that several type converter loaders share the
same registry object and fail to load all converters every once a while. That
can be fixed by making the load method synchronized...see attached patch.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.