You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Johan Ström <jo...@stromnet.se> on 2012/05/09 19:13:09 UTC
MySQL JDBC/DBCP-problems starting in Karaf 2.2.5
Hi,
I've been developing a small app which utilizes Commons-DBCP to connect to a MySQL database. In karaf 2.2.4 this has been working fine, but starting in version 2.2.5 it fails to find the MySQL bundle:
Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/mydb
at java.sql.DriverManager.getConnection(DriverManager.java:602)[:1.6.0_31]
at java.sql.DriverManager.getConnection(DriverManager.java:185)[:1.6.0_31]
at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:75)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1181)
at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
...
The code looks like this:
ConnectionFactory connectionFactory =
new DriverManagerConnectionFactory(
"jdbc:mysql://localhost/db",
"user",
"pwd");
ObjectPool connectionPool = new GenericObjectPool();
PoolableConnectionFactory poolableConnectionFactory =
new PoolableConnectionFactory(connectionFactory, connectionPool,
null, "SELECT 1", false, true);
PoolingDataSource dataSource = new PoolingDataSource(connectionPool);
In karaf 2.2.4 (default config, straight from tar-ball) this was working fine.
In karaf 2.2.5 (default config here as well) and up, it doesn't.
The following bundles are used:
org.apache.servicemix.bundles.commons-dbcp-1.4_1.jar
mysql-connector-java-5.1.18-bin.jar
commons-pool-1.5.6.jar
If I try to set up the data source manually, it works fine though:
BasicDataSource bds = new BasicDataSource();
bds.setDriverClassName("com.mysql.jdbc.Driver");
bds.setUrl("jdbc:mysql://localhost/db");
bds.setUsername("user");
bds.setPassword("pwd");
My manifest:
[IMPEXP]
Import-Package
com.mysql.jdbc
javax.sql
org.apache.commons.dbcp
org.apache.commons.pool
org.apache.commons.pool.impl
org.osgi.framework {version=1.5}
Export-Package
se.stromnet.mypackage {version=1.0.0}
Any ideas why this has stopped working? I've gone through the changelogs but cannot find any good indication what might be causing this.. Any help is appreciated!
Thank you
Johan