私の OSGi 環境では、さらに使用するためにデータベース ドライバーをプリロードしようとしています。通常、これは次のように実行できます。
Class.forName("com.mysql.jdbc.Driver");
その後、接続を作成できます。ただし、Felix の下の OSGi でそれを使用すると、クラスが見つからず ( ClassNotFoundException
)、接続を作成できないと彼は言います。しかし、私がそのようなことをすると(try-catch
は省略されます):
com.mysql.jdbc.Driver d = new com.mysql.jdbcDriver
Class.forName("com.mysql.jdbc.Driver");
その後、すべてが正常に機能し、接続が作成されます。ただし、ドライバー クラスを交換できないため、これはあまりきれいではありません。
最初のメソッドでクラスをロードする方法はありますか? 正しいクラスローダーを提供する必要があると思います。しかし、どこからそれを入手できますか?
MySQL ドライバーは、OSGi ラッパー バンドルとして提供されます。