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 2015/04/23 16:06:38 UTC

[jira] [Updated] (CAMEL-8689) camel-dozer: Multiple contexts / bundles - Does not use the correct classloader

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

Claus Ibsen updated CAMEL-8689:
-------------------------------
    Fix Version/s: 2.16.0

> camel-dozer: Multiple contexts / bundles - Does not use the correct classloader
> -------------------------------------------------------------------------------
>
>                 Key: CAMEL-8689
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8689
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-dozer
>    Affects Versions: 2.15.1
>            Reporter: Raúl Kripalani
>            Assignee: Raúl Kripalani
>             Fix For: 2.14.3, 2.15.2, 2.16.0
>
>
> Dozer is a tough library to work with in a multi-module context, because of its use of singletons for configuration. In an OSGi environment, each bundle will have its own classloader but Dozer's architecture makes it impossible to cater for this scenario nicely. Unfortunately, it expects a single container-wide classloader configured in the BeanContainer singleton.
> In Camel we worked around this by providing a custom DozerClassLoader implementation that is aware of the Camel Context, but what happens if we are sharing Dozer across multiple Camel Contexts? The most recently initialized context will override the container-wide classloader.
> We need a solution such that the classloader can dynamically change based on the Camel Context that is using the component.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)