You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2013/10/07 12:47:42 UTC

[jira] [Resolved] (CAMEL-6790) Resuming a bundle that uses blueprint+camel fails if it was suspended externally

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

Claus Ibsen resolved CAMEL-6790.
--------------------------------

    Resolution: Fixed

Thanks I did the same change in camel-spring as its also in use with spring-dm for OSGi

> Resuming a bundle that uses blueprint+camel fails if it was suspended externally
> --------------------------------------------------------------------------------
>
>                 Key: CAMEL-6790
>                 URL: https://issues.apache.org/jira/browse/CAMEL-6790
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-blueprint
>    Affects Versions: 2.12.1
>            Reporter: Eugene Tarasov
>            Assignee: Claus Ibsen
>             Fix For: 2.11.3, 2.12.2, 2.13.0
>
>         Attachments: CamelContextIdSetting.patch
>
>
> There is a problem in this scenario:
> # Karaf is running.
> # Start some bundle that uses blueprint+camel. For convenience will call it <testbundle>.
> # Cause this bundle to be suspended by container, by refreshing a bundle that provides some namespace used by <testbundle> bundle. For example, by refreshing camel-cxf (assuming that <testbundle> uses also blueprint/cxf namespace). In logs one can see something like this:
> bq. Bundle <testbundle> is waiting for namespace handlers [http://camel.apache.org/schema/blueprint/cxf]
> In this case after the missing namespace becomes available again the bundle will fail to resume with exception like:
> bq. Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'camelContext'.
> The problem is in CamelNamespaceHandler class which is a part of camel-blueprint. When it parses incoming dom it changes namespace of all elements from http://camel.apache.org/schema/blueprint to http://camel.apache.org/schema/spring. So when a bundle that uses blueprint+camel needs to validate its blueprint context again (like if it was waiting for some namespace) the new validation will fail.



--
This message was sent by Atlassian JIRA
(v6.1#6144)