You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Lars Heinemann (JIRA)" <ji...@apache.org> on 2010/10/25 21:47:41 UTC

[jira] Updated: (CAMEL-3277) Threading issue which lets converter loading abort

     [ https://issues.apache.org/activemq/browse/CAMEL-3277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lars Heinemann updated CAMEL-3277:
----------------------------------

    Attachment: patch.diff

attached patch

> 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.