MySQL-Connector dans un environnement OSGi
Bonjour,
A l'heure actuelle je n'arrive pas à utiliser MySQL-Connector dans un environnement OSGi. Voila comment je procède:
- Je telecharge le JAR MySQLConnector, puis via BND, j'en fait un bundle que je deploie sur mon serveur apache felix.
- Dans un autre Bundle (MySQLService) je tente de me connecter à la base de données. Voici les différentes parties de ce bundle:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 14.1-b02-90 (Apple Inc.)
Bundle-ManifestVersion: 2
Bundle-Name: MySQLService_Service Plug-in
Bundle-SymbolicName: MySQL_Service
Bundle-Version: 1.0.0
Bundle-Activator: service.Activator
Import-Package: org.osgi.framework;version="1.3.0", org.osgi.util.tracker;version="1.3.1", com.mysql.jdbc, com.mysql.jdbc.exceptions, com.mysql.jdbc.exceptions.jdbc4, com.mysql.jdbc.integration.c3p0, com.mysql.jdbc.integration.jboss, com.mysql.jdbc.interceptors, com.mysql.jdbc.jdbc2.optional, com.mysql.jdbc.log, com.mysql.jdbc.profiler, com.mysql.jdbc.util, org.gjt.mm.mysql
Export-Package: mysqlservice
Bundle-RequiredExecutionEnvironment: J2SE-1.5 |
Ensuite voici le code du service du bundle:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
package mysqlservice;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import java.util.List;
import mysqlservice.DatabaseService;
public class MySQLService extends DatabaseService{
private Connection connection;
private Statement stmt;
private String tableName;
private List<String>keywords;
public MySQLService() {
}
/**
* @param args
*/
public void connection()
{
System.out.println("Tentative de connection...");
try {
this.connection =
DriverManager.getConnection("jdbc:mysql://"+this.getServer()+"/"+this.getDatabase()+"?user="+this.getUser()+"&password="+this.getPassword());
this.stmt = this.connection.createStatement();
}
catch (SQLException ex)
{
System.out.println("Erreur lors de la connexion à la base de données:" +ex);
}
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public ResultSet getRows()
{
ResultSet rs = null;
try {
rs = this.stmt.executeQuery("SELECT * FROM "+tableName);
return rs;
}catch(Exception e)
{
return rs;
}
} |
Mais lorsque je tente de démarrer mon bundle j'ai l'erreur suivante:
Code:
No suitable driver found for jdbc:mysql://localhost/...
Cette erreur intervient généralement lorsque le driver n'est pas chargé correctement, pourtant là je récupère bien tout ce qu'il faut selon moi.
Quelqu'un aurait-il déjà rencontré ce problème?
Merci d'avance pour votre aide.