Hello,

I'm using inside servicemix (4.3.0-fuse-02-00) the following two routes:


<cs:route id="odsAdapterRoute">
  <cs:from uri="jetty:http://0.0.0.0:9004/odsadapter?matchOnUriPrefix=true";
/>
  <cs:bean ref="odsAdapter" method="convertParameterToIbatisParameter" />
  <cs:to
uri="ibatis:item.selectItemByName?statementType=QueryForList&amp;consumer.routeEmptyResultSet=true"
/>
  <cs:process ref="resultListToItemListProcessor" />
  <cs:marshal ref="myJaxb" />
</cs:route>

<cs:route id="searchOdsRoute2" trace="true">
  <cs:from uri="cxfrs:bean:odsService"/>
  <cs:process ref="queryToIbatisParameterProcessor" />
  <cs:to
uri="ibatis:item.selectItemByName?statementType=QueryForList&amp;consumer.routeEmptyResultSet=true"
/>
  <cs:process ref="resultListToItemListProcessor" />
  <cs:marshal ref="myJaxb" />
</cs:route>


Both use the same query defined in my sqlMapConfig.xml file:


<sqlMapConfig>
        ...
        <sqlMap resource="sqlmap/Item.xml" />
</sqlMapConfig>


Now the top route works, but the bottom one doesn't and fail with an
IOException: : Could not find resource sqlmap/Item.xml. I dug into it and
found that the one that works eventually ends up (deep in iBATIS) in
Resource.getResourceAsStream() with the classloader of the current bundle:
BundleDelegatingClassLoader for [ODS Adapter (ods-adapter)] whereas the
second route ends up in the exact same method with the following
classloader: BundleDelegatingClassLoader for [Apache CXF Bundle Jar
(org.apache.cxf.bundle)].

I can understand why it doesn't find the resource (sqlmap/Item.xml) in the
second case, but I don't understand why my classloader is different in the
second route. Is that something basic that I don't understand about
OSGi/bundle classloading? I've tried to export the file by saying
<Export-Package>sqlMap, ...</Export-Package> but that doesn't seem to work.

Kind regards,

Auke
-- 
View this message in context: 
http://servicemix.396122.n5.nabble.com/OSGi-ibatis-component-classloader-issue-tp3218758p3218758.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to