camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Freeman Fang <freeman.f...@gmail.com>
Subject Re: [jira] [Commented] (CAMEL-4308) commons-dbcp bundle used in camel feature.xml doesn't allow dynamic imports
Date Sat, 06 Aug 2011 10:15:42 GMT
Hi Claus,

commons-dbcp may not be used directly by camel components.
But as datasource like org.apache.commons.dbcp.BasicDataSource is  
popularly used by specifying DAO when use database related camel  
features such as camel-jpa, so I'm not sure simply remove commons-dbcp  
bundle from camel features.xml is a good idea.

Best Regards
Freeman
On 2011-8-6, at 下午5:12, Claus Ibsen wrote:

> On Sat, Aug 6, 2011 at 3:31 AM, Freeman Fang  
> <freeman.fang@gmail.com> wrote:
>> 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.
>
> The commons-dbcp is not used by any of the camel components in non  
> osgi mode.
>
> So its something somebody added in the features file. Its not required
> by Camel or by the 3rd party components.
> I wonder if we can just remove it?
>
> In the features file its listed in
> - camel-bam
> - camel-ibatis
> - camel-jpa
> - camel-mybatis
> - camel-quartz
>
>
>>
>> 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)  
>>> <jira@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:ffang@fusesource.com
>> Web: fusesource.com
>> Twitter: freemanfang
>> Blog: http://freemanfang.blogspot.com
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
>
>
> -- 
> Claus Ibsen
> -----------------
> FuseSource
> Email: cibsen@fusesource.com
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/

---------------------------------------------
Freeman Fang

FuseSource
Email:ffang@fusesource.com
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com










Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message