В OSGi рекомендуется не использовать DrivverManager для получения соединения.Лучше всего использовать DataSource.
Так что для клиента Derby вы можете использовать это:
ClientDataSource ds = new ClientDataSource();
... // set properties here
Connection connection = dataSource.getConnection();
Поскольку подход DataSource не возиться с загрузчиком классов, он намного надежнее в OSGi.
Кроме того, рекомендуется отделить DataSource от вашего клиентского кода и связать его как службу OSGi.Это позволяет сохранить зависимость от базы данных в вашем коде.
Самый простой подход - использовать pax-jdbc-config и позволить ему создать источник данных для вас из конфигурации.В вашем собственном коде вы просто связываете DataSource как сервис, и все в порядке.
Текущая версия pax-jdbc пока не поддерживает derbyclient, но я только добавил это к мастеру.Поэтому следующий выпуск должен содержать его.