В моей среде OSGi я пытаюсь предварительно загрузить драйвер базы данных для дальнейшего использования.Обычно это можно сделать так:
Class.forName("com.mysql.jdbc.Driver");
После этого можно создать соединение.Однако, если я использую это в OSGi под Феликсом, он говорит, что класс не может быть найден (ClassNotFoundException
), и соединение не может быть создано.Но когда я делаю что-то подобное (try-catch
опущено):
com.mysql.jdbc.Driver d = new com.mysql.jdbcDriver
Class.forName("com.mysql.jdbc.Driver");
Тогда все работает нормально и соединение создается.Однако это не очень красиво, потому что класс драйвера не может быть заменен.
Есть ли способ загрузить класс первым методом?Я предполагаю, что я должен предоставить правильный загрузчик классов.Но откуда мне это взять?
Драйвер MySQL предоставляется в виде пакета оболочки OSGi.