Hi Christian,
Yeah, If camel team agree to upgrade to commons-dbcp 1.4 then we can
use SMX wrapped commons-dbcp 1.4 bundle directly.
If there's no other objection I'll append a patch which upgrade to
commons-dbcp 1.4 also.
Best Regards
Freeman
On 2011-8-6, at 上午12:50, Christian Müller wrote:
I wonder is there a reason not to upgrade Camel to use commons-dbcp
1.4 when
SMX already use this version?
Best,
Christian
On Fri, Aug 5, 2011 at 9:27 AM, Freeman Fang (JIRA)
<j...@apache.org> wrote:
[
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
---------------------------------------------
Freeman Fang
FuseSource
Email:ff...@fusesource.com
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com