[ 
https://issues.apache.org/jira/browse/CAMEL-4308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13079810#comment-13079810
 ] 

Freeman Fang commented on CAMEL-4308:
-------------------------------------

I noticed that camel now use commons-dbcp 1.3 but in servicemix we have wrapped 
commons-dbcp 1.2.2 and 1.4, so I create SMX4-892[1] and will add commons-dbcp 
1.3 bundle in servicemix firstly.

[1]https://issues.apache.org/jira/browse/SMX4-892

Freeman

> commons-dbcp bundle used in camel feature.xml doesn't allow dynamic imports
> ---------------------------------------------------------------------------
>
>                 Key: CAMEL-4308
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4308
>             Project: Camel
>          Issue Type: Improvement
>            Reporter: Freeman Fang
>
> currently the commons-dbcp bundle used in camel feature.xml doesn't allow 
> dynamic imports, it will cause exception like
> org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 
> 'oracle.jdbc.driver.OracleDriver'
> as 
> JDBC driver class not found actually is a common issue in OSGi container, 
> this problem generally from a bundle(let's say it bundle A, commons-dbcp in 
> this case) using some code like classForName(jdbc_driver_classname) to init a 
> jdbc driver class, this is a big problem in OSGi world, as if BundleA not 
> import package for jdbc_driver_classname, we'll see the problem. However 
> BundleA actually can't know about package name for jdbc_driver_classname 
> beforehand, as the jdbc_driver_classname generally is passed in through 
> configuration during runtime, it can't be determined during build time, so we 
> can't add correct package import when we generate bundle A.
> The general solution is
> 1. add dynamic import for bundle A(commons-dbcp) 
> or 
> 2. create JDBC driver as a fragment bundle, and attach it to bundle A(bundle 
> A is host bundle now), so that all resource from fragment bundle is available 
> for the host bundle.
> Solution 1 left less effort for end user and n servicemix wrapped 
> commons-dbcp bundle we already have dynamic-import header and I think camel 
> features should use the  servicemix wrapped commons-dbcp bundle as well.
> I will append a patch soon.

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

        

Reply via email to