Бандл JDBC драйвера для MySQL

JDBC драйверы для MySQL не являются OSGi бандлами. Чтобы преобразовать обычный JDBC драйвер в OSGi бандл можно использовать IDE Eclipse, не прикладывая практически никаких усилий. Данная страница в скриншотах и с небольшими комментариями, демонстрирует, как это можно сделать :

Создание проекта

В IDE Eclipse необходимо открыть мастера создания проекта New Project, и в диалоговом окне выбрать Plug-in from existing JAR archives.

Выбор JDBC драйвера

На странице выбора JAR архива нажмите кнопку «Add external ...» и в дополнительном диалоговом окне выберите JDBC драйвер MySQL.

Определение параметров бандла JDBC драйвера

На странице определения параметров бандла заполните поля формы :

После определения параметров проекта и бандла JDBC драйвера нажмите кнопку «Finish».

Структура проекта создания бандла драйвера

На следующем скриншоте представлена структура вновь созданного проекта «com.mysql.jdbc» с учетом импортирования пакетов драйвера :

Никаких изменений вносить не требуется, сразу же можно приступить к созданию бандла драйвера.

Создание бандла драйвера

Для создания бандла драйвера откройте «Export wizard» и выберите «Deployable plug-ins and fragments» :

В следующем окне выберите директорию размещения бандла и нажмите кнопку «Finish»:

После последовательного выполнения всех предыдущих шагов вновь созданный OSGi бандл JDBC драйвера MySQL будет размещен в поддиректории plugins.

Изменения в манифесте драйвера

В чистом виде созданный OSGi бандл драйвера не заработал во фреймворке Felix : не прошла регистрация драйвера (RegisterManager) и не было создано соединение java.sql.Connection с сервером БД.

Примечание : чтобы драйвер заработал необходимо в манифесте бандла MANIFEST.MF добавить секции <Import-Package> и <Export-Package> с включением всех необходимых пакетов.

Следующий листинг представляет текст манифеста MANIFEST.MF работающего бандла JDBC драйвера MySQL с учетом двух добавленных секций <Import-Package> и <Export-Package>

Manifest-Version: 1.0
Specification-Title: JDBC
Specification-Version: 4.0
Specification-Vendor: Oracle Corporation
Implementation-Title: MySQL Connector Java
Implementation-Version: 5.1.7
Implementation-Vendor-Id: com.mysql
Implementation-Vendor: Oracle
Bundle-ManifestVersion: 2
Bundle-Name: MySQL Connector
Bundle-SymbolicName: com.mysql.jdbc
Bundle-Version: 5.1.7
Bundle-Vendor: Oracle Corporation
Export-Package: com.mysql.jdbc;version="5.1.7";uses:="com.mysql.jdbc.
 log",com.mysql.jdbc.jdbc2.optional;version="5.1.7";uses:="com.mysql.jdbc,com.m
 ysql.jdbc.log,javax.sql,javax.transaction.xa",com.mysql.jdbc.log;
 version="5.1.7",com.mysql.jdbc.profiler;version="5.1.7";uses:="com.mysql.jdbc",
 com.mysql.jdbc.util;version="5.1.7";uses:="com.mysql.jdbc.log",
 com.mysql.jdbc.exceptions;version="5.1.7",com.mysql.jdbc.exceptions.jdbc4;version="5.1.7";
 uses:="com.mysql.jdbc",com.mysql.jdbc.interceptors;version="5.1.7";uses:="com.mysql.jdbc",
 com.mysql.jdbc.integration.c3p0;version="5.1.7",com.mysql.jdbc.integration.jboss;
 version="5.1.7",com.mysql.jdbc.configs;version="5.1.7",org.gjt.mm.mysql;version="5.1.7"
Import-Package: javax.xml.parsers, javax.xml.stream,javax.xml.transfo
 rm,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transfor
 m.stax,javax.xml.transform.stream,org.w3c.dom,org.xml.sax,org.xml.sax
 .helpers;resolution:=optional,javax.naming,javax.naming.spi,javax.sql
 ,javax.transaction.xa;version="[1.0.1, 2.0.0)";resolution:=optional,c
 om.mchange.v2.c3p0;version="[0.9.1.2, 1.0.0)";resolution:=optional

Скачать бандл драйвера MySQL

Можно скачать созданный OSGi бандл драйвера com.mysql.jdbc-5.1.7.jar (664 Кб).

  Рейтинг@Mail.ru