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

Willem Jiang reassigned CAMEL-5358:
-----------------------------------

    Assignee: Willem Jiang
    
> camel-castor does not work in apache service mix modules
> --------------------------------------------------------
>
>                 Key: CAMEL-5358
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5358
>             Project: Camel
>          Issue Type: Bug
>          Components: osgi
>    Affects Versions: 2.8.5, 2.9.2
>         Environment: Apache Service Mix: MacOS, Linux, Windows
>            Reporter: jacob vandergoot
>            Assignee: Willem Jiang
>             Fix For: 2.8.6, 2.9.3
>
>
> Sorry for putting this in the wrong component but I did not see a 
> camel-castor component.
> By default, the castor org.exolab.castor.mapping.Mapping will use the class's 
> class loader to resolve java classes declared in the castor mapping XML file. 
>  However when the CastorDataFormat is used an a service mix OSGi module, the 
> class loader the contains the Java classes is not the same as the class 
> loader that loads the Mapping object.  Therefore it cannot load the mapping 
> file because the Java classes cannot be resolved.  Instead the constructor 
> that takes Classloader as an argument should be called when initializing the 
> mapping object.  The classloader it should use is the same classloader used 
> to resolve the castor mapping XML file.
> The following change in AbstractCastorDataFormat seemed to resolve the 
> problem.
> public XMLContext getXmlContext(ClassResolver resolver) throws Exception {
>         if (xmlContext == null) {
>             xmlContext = new XMLContext();
>             if (ObjectHelper.isNotEmpty(getMappingFile())) {
>                 Mapping xmlMap = new Mapping(
>                               Thread.currentThread().getContextClassLoader());
>                 
> xmlMap.loadMapping(resolver.loadResourceAsURL(getMappingFile()));
>                 xmlContext.addMapping(xmlMap);
>             }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to