OSGi 和数据库驱动程序
Posted
技术标签:
【中文标题】OSGi 和数据库驱动程序【英文标题】:OSGi and database drivers 【发布时间】:2011-05-20 14:41:52 【问题描述】:我一直在尝试将一个捆绑包部署到创建 hsqldb 数据源的 servicemix。
到目前为止,除了以下异常,我没有成功:
Caused by: java.sql.SQLException: No suitable driver found for jdbc:hsqldb:mem:temp
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
我已经将一个包含 HSQLDB 驱动程序的包部署到 osgi,如下所示:
karaf@root> packages:exports | grep hsql
205 org.hsqldb; version="1.8.0.10"
205 org.hsqldb.index; version="1.8.0.10"
205 org.hsqldb.jdbc; version="1.8.0.10"
205 org.hsqldb.lib; version="1.8.0.10"
205 org.hsqldb.lib.java; version="1.8.0.10"
205 org.hsqldb.persist; version="1.8.0.10"
205 org.hsqldb.resources; version="1.8.0.10"
205 org.hsqldb.rowio; version="1.8.0.10"
205 org.hsqldb.sample; version="1.8.0.10"
205 org.hsqldb.scriptio; version="1.8.0.10"
205 org.hsqldb.store; version="1.8.0.10"
205 org.hsqldb.types; version="1.8.0.10"
205 org.hsqldb.util; version="1.8.0.10"
205 org.hsqldb.util.sqltool; version="1.8.0.10"
然后在我的 Spring 配置包中,我得到了以下内容:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.hsqldb.jdbcDriver"/>
<property name="url" value="jdbc:hsqldb:mem:temp"/>
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
以及捆绑包的清单:
Import-Package: org.hsqldb
我错过了什么吗?任何想法都会很棒,因为我正在努力在网上找到任何东西。
【问题讨论】:
问题已解决!更新到 Java6 解决了这个问题。 【参考方案1】:正如我在上面的评论中所写的那样,我意识到这个问题没有给出正式的答案,解决方案很简单。这纯粹是升级到 Java 6 的情况。
【讨论】:
以上是关于OSGi 和数据库驱动程序的主要内容,如果未能解决你的问题,请参考以下文章
OSGi Felix 和 BndTools - 按名称加载类