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

Gert Vanthienen resolved CAMEL-4347.
------------------------------------

    Resolution: Fixed

Fixed in http://svn.apache.org/viewvc?view=revision&revision=1159171

This fix also sets CamelContext's application context classloader field with 
the new thread context classloader to ensure the same object can always be 
retrieved again when necessary.

> Set thread context class loader when starting camel-blueprint routes
> --------------------------------------------------------------------
>
>                 Key: CAMEL-4347
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4347
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-blueprint
>    Affects Versions: 2.8.0
>            Reporter: Gert Vanthienen
>            Assignee: Gert Vanthienen
>             Fix For: 2.9.0
>
>
> When routes are getting started by the camel-blueprint component, the thread 
> context classloader at that moment is the container's boot classloader.  This 
> is causing problems for e.g. ActiveMQ object messages that need to get 
> deserialized, because the boot classloader is not aware of classes that might 
> be available inside the container.  The class used for reading the ActiveMQ 
> object messages is 
> http://svn.apache.org/repos/asf/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/util/ClassLoadingAwareObjectInputStream.java.
> We can fix this by setting a more appropriate classloader as the thread 
> context classloader while starting the CamelContext from a Blueprint 
> definition.  I see we also have a similar class in camel-jdbc and there are 
> no doubt other libraries that depend on this classloader being set as well, 
> so this change should help with all of those cases.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to