The error is still there even if I use commons-dbcp 1.2.2_2

Apache ServiceMix Bundles: commons-dbcp-1.2.2 (127)
---------------------------------------------------
Tool = Bnd-0.0.255
Bundle-DocURL = http://www.apache.org/
Bundle-Description = This bundle simply wraps commons-dbcp-1.2.2.jar.
Export-Package =
org.apache.commons.pool.impl;uses:="org.apache.commons.pool";version="1.2.2",org.apache.commons.jocl;uses:="org.xml.sax,org.xml.sax.helpers";version="1.2
.2",org.apache.commons.dbcp.datasources;uses:="javax.naming,org.apache.commons.pool.impl,org.apache.commons.pool,javax.naming.spi,javax.sql,org.apache.commons.dbcp";versi
on="1.2.2",org.apache.commons.dbcp.cpdsadapter;uses:="javax.naming,org.apache.commons.pool.impl,org.apache.commons.pool,javax.naming.spi,org.apache.commons.dbcp,javax.sql
";version="1.2.2",org.apache.commons.pool;version="1.2.2",org.apache.commons.dbcp;uses:="org.xml.sax,org.apache.commons.pool.impl,org.apache.commons.jocl,javax.naming.spi
,javax.sql,javax.naming,org.apache.commons.pool";version="1.2.2"
Bundle-Version = 1.2.2.2
Build-Jdk = 1.5.0_16
Created-By = Apache Maven Bundle Plugin
Bundle-License = http://www.apache.org/licenses/LICENSE-2.0.txt
Bundle-ManifestVersion = 2
Manifest-Version = 1.0
DynamicImport-Package = *
Bundle-Vendor = The Apache Software Foundation
Bnd-LastModified = 1234185515346
Bundle-Name = Apache ServiceMix Bundles: commons-dbcp-1.2.2
Built-By = gert
Import-Package =
javax.naming,javax.naming.spi,javax.sql,org.apache.commons.dbcp;version="1.2.2",org.apache.commons.dbcp.cpdsadapter;version="1.2.2",org.apache.commons.db
cp.datasources;version="1.2.2",org.apache.commons.jocl;version="1.2.2",org.apache.commons.pool;version="1.2.2",org.apache.commons.pool.impl;version="1.2.2",org.xml.sax,or
g.xml.sax.helpers
Bundle-SymbolicName = org.apache.servicemix.bundles.commons-dbcp
s...@root:osgi> headers 115

Report Incident Persistence Bundle (115)
----------------------------------------
Tool = Bnd-0.0.255
Export-Package =
org.apache.camel.example.reportincident.dao;uses:="org.apache.camel.example.reportincident.model"
Bundle-Version = 1.0.0.SNAPSHOT
Build-Jdk = 1.6.0_12
Created-By = Apache Maven Bundle Plugin
Bundle-ManifestVersion = 2
Manifest-Version = 1.0
Bnd-LastModified = 1237559108726
Private-Package = org.apache.camel.example.reportincident.dao.impl
Bundle-Name = Report Incident Persistence Bundle
Built-By = Charlesm
Import-Package =
META-INF.org.apache.camel.example.reportincident.model.Incident.hbm.xml,com.mysql.jdbc,net.sf.ehcache,org.apache.camel.example.reportincident.dao,org.apa
che.camel.example.reportincident.model,org.apache.commons.dbcp,org.hibernate,org.hibernate.cfg,org.hibernate.classic,org.springframework.jdbc.support;version="2.5",org.sp
ringframework.jdbc.support.lob;version="2.5",org.springframework.orm;version="2.5",org.springframework.orm.hibernate3;version="2.5",org.springframework.transaction;versio
n="2.5"
Bundle-SymbolicName = reportincident.persistence


gnodet wrote:
> 
> The first version of commons-dbcp bundle was missing the dynamic import
> package.
> The most recent version should work:
>  
> http://repo2.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.commons-dbcp/1.2.2_2/
> 
> On Fri, Mar 20, 2009 at 15:16, cmoulliard <[email protected]> wrote:
>>
>> I have created a osgi bundles including the spring config file posted in
>> this
>> message. The jdbc driver of Mysql has been deployed as a bundle. Here is
>> the
>> headers of MySql:
>>
>> MySQL AB's JDBC Driver for MySQL (126)
>> --------------------------------------
>> Manifest-Version = 1.0
>> Bundle-Vendor = SpringSource
>> Bundle-Name = MySQL AB's JDBC Driver for MySQL
>> Ant-Version = Apache Ant 1.6.5
>> Built-By = mysqldev
>> Import-Package = com.mchange.v2.c3p0;version="[0.9.1.2,
>> 1.0.0)";resolution:=optional,javax.naming,javax.naming.spi,javax.net,javax.net.ssl,javax.sql,javax.transaction.xa;
>> version="[1.0.1,
>> 2.0.0)";resolution:=optional,javax.xml.parsers,javax.xml.stream;version="[1.0.1,
>> 2.0.0)";resolution:=optional,javax.xml.transform,javax.xml.transform.dom
>> ,javax.xml.transform.sax,javax.xml.transform.stax;resolution:=optional,javax.xml.transform.stream,org.apache.commons.logging;version="[1.1.1,2.0.0)",org.apache.log4j;vers
>> ion="[1.2.15,
>> 2.0.0)";resolution:=optional,org.jboss.resource.adapter.jdbc;resolution:=optional,org.jboss.resource.adapter.jdbc.vendor;resolution:=optional,org.w3c.dom,or
>> g.xml.sax,org.xml.sax.helpers
>> Bundle-SymbolicName = com.springsource.com.mysql.jdbc
>> Export-Package =
>> com.mysql.jdbc;version="5.1.6";uses:="com.mysql.jdbc.log,javax.naming,javax.net.ssl,javax.xml.transform,org.xml.sax",com.mysql.jdbc.configs;version="5.1.
>> 6",com.mysql.jdbc.exceptions;version="5.1.6",com.mysql.jdbc.exceptions.jdbc4;version="5.1.6";uses:="com.mysql.jdbc",com.mysql.jdbc.integration.c3p0;version="5.1.6",com.my
>> sql.jdbc.integration.jboss;version="5.1.6",com.mysql.jdbc.interceptors;version="5.1.6";uses:="com.mysql.jdbc",com.mysql.jdbc.jdbc2.optional;version="5.1.6";uses:="com.mys
>> ql.jdbc,com.mysql.jdbc.log,javax.naming,javax.sql,javax.transaction.xa",com.mysql.jdbc.log;version="5.1.6",com.mysql.jdbc.profiler;version="5.1.6";uses:="com.mysql.jdbc",
>> com.mysql.jdbc.util;version="5.1.6";uses:="com.mysql.jdbc.log",org.gjt.mm.mysql;version="5.1.6"
>> Bundle-Classpath = .
>> Bundle-Version = 5.1.6
>> Created-By = 1.4.2-b28 (Sun Microsystems Inc.)
>> Bundle-ManifestVersion = 2
>>
>> and those of my bundle
>>
>> Report Incident Persistence Bundle (115)
>> ----------------------------------------
>> Tool = Bnd-0.0.255
>> Export-Package =
>> org.apache.camel.example.reportincident.dao;uses:="org.apache.camel.example.reportincident.model"
>> Bundle-Version = 1.0.0.SNAPSHOT
>> Build-Jdk = 1.6.0_12
>> Created-By = Apache Maven Bundle Plugin
>> Bundle-ManifestVersion = 2
>> Manifest-Version = 1.0
>> Bnd-LastModified = 1237555603991
>> Private-Package = org.apache.camel.example.reportincident.dao.impl
>> Bundle-Name = Report Incident Persistence Bundle
>> Built-By = Charlesm
>> Import-Package =
>> META-INF.org.apache.camel.example.reportincident.model.Incident.hbm.xml,com.mysql.jdbc,net.sf.ehcache,org.apache.camel.example.reportincident.dao,org.apa
>> che.camel.example.reportincident.model,org.apache.commons.dbcp,org.hibernate,org.hibernate.cfg,org.hibernate.classic,org.springframework.jdbc.support;version="2.5",org.sp
>> ringframework.jdbc.support.lob;version="2.5",org.springframework.orm;version="2.5",org.springframework.orm.hibernate3;version="2.5",org.springframework.transaction;versio
>> n="2.5"
>> Bundle-SymbolicName = reportincident.persistence
>>
>> So Is the problem related to commons-dbcp who cannot find this class
>> using
>> its classloader ?
>>
>> Regards,
>>
>>
>>
>> gnodet wrote:
>>>
>>> Did you package this spring app in a bundle ?
>>> If yes, you need to make sure your bundle import (statically or
>>> dynamically, or through a RequiredBundle header) the com.mysql.jdbc
>>> package.
>>> Spring applications deployed through the deployer have a dynamic
>>> import package declaration on everything iirc, so it should work that
>>> way.
>>>
>>> On Fri, Mar 20, 2009 at 14:57, cmoulliard <[email protected]> wrote:
>>>>
>>>> Hi,
>>>>
>>>> I would like to know if someones has resolved top of SMX4 the issue
>>>> related
>>>> with the loading of JDBC driver like MySQL, ...
>>>>
>>>> I have created the following Spring configuration
>>>>
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <beans xmlns="http://www.springframework.org/schema/beans";
>>>>       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>>       xmlns:context="http://www.springframework.org/schema/context";
>>>>       xmlns:osgi="http://www.springframework.org/schema/osgi";
>>>>        xsi:schemaLocation="
>>>>       http://www.springframework.org/schema/beans
>>>>       http://www.springframework.org/schema/beans/spring-beans.xsd
>>>>       http://www.springframework.org/schema/context
>>>>       http://www.springframework.org/schema/context/spring-context.xsd
>>>>       http://www.springframework.org/schema/osgi
>>>>       http://www.springframework.org/schema/osgi/spring-osgi.xsd";>
>>>>
>>>>    <context:annotation-config/>
>>>>
>>>>        <!--  DB connection and persistence layer -->
>>>>        <!--  DataSource Definition  -->
>>>>        <bean id="dataSource"
>>>> class="org.apache.commons.dbcp.BasicDataSource"
>>>> destroy-method="close">
>>>>                <property name="driverClassName"
>>>> value="com.mysql.jdbc.Driver" />
>>>>                <property name="url" value="jdbc:mysql:///report" />
>>>>                <property name="username" value="root" />
>>>>                <property name="password" value="" />
>>>>        </bean>
>>>>
>>>>
>>>>        <!--  Spring Data Access Exception Translator Definition
>>>>  -->
>>>>        <bean id="jdbcExceptionTranslator"
>>>> class="org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator">
>>>>                <property name="dataSource">
>>>>                        <ref bean="dataSource" />
>>>>                </property>
>>>>        </bean>
>>>>
>>>>        <!--  Hibernate SessionFactory Definition -->
>>>>        <bean id="sessionFactory"
>>>> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
>>>>
>>>>                <!-- Classloading does not work under OSGI
>>>>                <property name="mappingResources">
>>>>                        <list>
>>>>
>>>> <value>META-INF/org/apache/camel/example/reportincident/model/Incident.hbm.xml</value>
>>>>                        </list>
>>>>                </property>
>>>>                 -->
>>>>
>>>>                <!-- see here
>>>>
>>>> http://www.carbonfive.com/community/archives/2007/05/using_classpath.html
>>>> and
>>>>                     http://jira.springframework.org/browse/SPR-3965
>>>>                     for more info about the classloading issue on OSGI
>>>> -->
>>>>                <property name="mappingLocations">
>>>>                        <list>
>>>>
>>>> <value>classpath*:META-INF/org/apache/camel/example/reportincident/model/Incident.hbm.xml</value>
>>>>                        </list>
>>>>                </property>
>>>>
>>>>
>>>>                <property name="hibernateProperties">
>>>>                        <props>
>>>>                                <prop
>>>> key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
>>>>                                <prop
>>>> key="hibernate.show_sql">false</prop>
>>>>                                <prop
>>>> key="hibernate.format_sql">true</prop>
>>>>                                <prop
>>>> key="hibernate.cglib.use_reflection_optimizer">true</prop>
>>>>                                <prop
>>>> key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
>>>>                                <prop
>>>> key="hibernate.jdbc.batch_size">10</prop>
>>>>                        </props>
>>>>                </property>
>>>>                <property name="dataSource">
>>>>                        <ref bean="dataSource" />
>>>>                </property>
>>>>        </bean>
>>>>
>>>>        <!--  Hibernate Transaction Manager Definition -->
>>>>        <bean id="transactionManager"
>>>> class="org.springframework.orm.hibernate3.HibernateTransactionManager">
>>>>                <property name="sessionFactory">
>>>>                        <ref local="sessionFactory" />
>>>>                </property>
>>>>        </bean>
>>>>
>>>>
>>>>        <!--  Hibernate Transaction Manager exported as OSGI service
>>>> because used
>>>>              org.apache.camel.example.reportincident.service -->
>>>>        <osgi:service id="transactionManagerOsgi"
>>>>                      ref="transactionManager"
>>>>
>>>> interface="org.springframework.transaction.PlatformTransactionManager"/>
>>>>
>>>> </beans>
>>>>
>>>> but I receive the following error :
>>>>
>>>> 14:42:30,382 | WARN  | xtenderThread-15 | SQLErrorCodesFactory
>>>>   |
>>>> dbc.support.SQLErrorCodesFactory  230 | Error while extracting database
>>>> product name - falling back to empty error codes
>>>> org.springframework.jdbc.support.MetaDataAccessException: Could not get
>>>> Connection for extracting meta data; nested exception is
>>>> org.springframework.jdbc.CannotGetJdbcConnectionException: Could not
>>>> get
>>>> JDBC Connection; nested exception is
>>>> org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver
>>>> class
>>>> 'com.mysql.jdbc.Driver'
>>>>        at
>>>> org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:293)
>>>>        at
>>>> org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:320)
>>>>        at
>>>> org.springframework.jdbc.support.SQLErrorCodesFactory.getErrorCodes(SQLErrorCodesFactory.java:216)
>>>>        at
>>>> org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDataSource(SQLErrorCodeSQLExceptionTranslator.java:140)
>>>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>        at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>        at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>        at java.lang.reflect.Method.invoke(Method.java:597)
>>>>        at
>>>> org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:840)
>>>>        at
>>>> org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:651)
>>>>        at
>>>> org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
>>>>        at
>>>> org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
>>>>        at
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1276)
>>>>        at
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
>>>>        at
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
>>>>        at
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
>>>>        at java.security.AccessController.doPrivileged(Native Method)
>>>>        at
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
>>>>        at
>>>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
>>>>        at
>>>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>>>>        at
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
>>>>        at
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
>>>>        at
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
>>>>        at
>>>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
>>>>        at
>>>> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
>>>>        at
>>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:69)
>>>>        at
>>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:355)
>>>>        at
>>>> org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
>>>>        at
>>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)
>>>>        at
>>>> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:136)
>>>>        at java.lang.Thread.run(Thread.java:619)
>>>> Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException:
>>>> Could
>>>> not get JDBC Connection; nested exception is
>>>> org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver
>>>> class
>>>> 'com.mysql.jdbc.Driver'
>>>>        at
>>>> org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82)
>>>>        at
>>>> org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:280)
>>>>        ... 30 more
>>>> Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC
>>>> driver class 'com.mysql.jdbc.Driver'
>>>>        at
>>>> org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1136)
>>>>        at
>>>> org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
>>>>        at
>>>> org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
>>>>        at
>>>> org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
>>>>        ... 31 more
>>>> Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
>>>>        at
>>>> org.apache.felix.framework.searchpolicy.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:558)
>>>>        at
>>>> org.apache.felix.framework.searchpolicy.ModuleImpl.access$100(ModuleImpl.java:59)
>>>>        at
>>>> org.apache.felix.framework.searchpolicy.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1427)
>>>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>>>>        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
>>>>        at java.lang.Class.forName0(Native Method)
>>>>        at java.lang.Class.forName(Class.java:169)
>>>>        at
>>>> org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1130)
>>>>        ... 34 more
>>>>
>>>> Apparently, this point has been discussed by Spring user :
>>>> http://forum.springframework.org/showthread.php?t=59588
>>>>
>>>> Regards,
>>>>
>>>>
>>>>
>>>> -----
>>>> Charles Moulliard
>>>> SOA Architect
>>>>
>>>> My Blog :  http://cmoulliard.blogspot.com/
>>>> http://cmoulliard.blogspot.com/
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/SMX4-and-classloading-of-JDBC-driver-%28MySQL%2C-...%29---question----tp22620802p22620802.html
>>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Cheers,
>>> Guillaume Nodet
>>> ------------------------
>>> Blog: http://gnodet.blogspot.com/
>>> ------------------------
>>> Open Source SOA
>>> http://fusesource.com
>>>
>>>
>>
>>
>> -----
>> Charles Moulliard
>> SOA Architect
>>
>> My Blog :  http://cmoulliard.blogspot.com/
>> http://cmoulliard.blogspot.com/
>> --
>> View this message in context:
>> http://www.nabble.com/SMX4-and-classloading-of-JDBC-driver-%28MySQL%2C-...%29---question----tp22620802p22621153.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> Open Source SOA
> http://fusesource.com
> 
> 


-----
Charles Moulliard
SOA Architect

My Blog :  http://cmoulliard.blogspot.com/ http://cmoulliard.blogspot.com/  
-- 
View this message in context: 
http://www.nabble.com/SMX4-and-classloading-of-JDBC-driver-%28MySQL%2C-...%29---question----tp22620802p22621551.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to