如何在Felix中使用Derby Client?
我想从OSGi包中运行Derby Client。该捆绑包由Maven构建,因此我添加了一个依赖于
org.apache.derby:derbyclient
。在运行时,我得到以下异常:java.sql.SQLException: No suitable driver found for jdbc:derby://localhost:1527/testdb
。
有趣的是,当我使用嵌入式驱动程序和依赖于org.apache.derby.derby
时,整个过程都有效。我只是没有看到这两者之间的区别。
我做错了什么,我该如何解决?
一些花絮:
在我在互联网上找到一些建议后,我设置了以下OSGi标题:DynamicImport-Package: *
。这解决了嵌入式驱动程序的问题,但客户端仍然失败。
我使用的Derby版本是10.7.1.1,应该启用OSGi(至少它有OSGi头)。
没有找到相关结果
已邀请:
2 个回复
嗓瑰
弛保矮瘦敖
由于DataSource方法没有使用类加载器,因此它在OSGi中更加可靠。 此外,将DataSource与客户端代码分离并将其绑定为OSGi服务是一种很好的做法。这样可以保持对数据库的依赖性。 最简单的方法是使用pax-jdbc-config并让它从配置中为您创建DataSource。在您自己的代码中,您只需将DataSource绑定为服务即可。 当前发布的pax-jdbc版本尚不支持derbyclient,但我刚将其添加到master中。所以下一个版本应该包含它。