OSGi和数据库驱动程序

时间:2011-05-20 14:41:52

标签: spring osgi hsqldb drivers

我一直在尝试将一个bundle部署到servicemix,这会创建一个hsqldb数据源。

到目前为止,我在以下例外情况下没有成功:

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

我错过了什么吗?任何想法都会很棒,因为我很难在网上找到任何东西。

1 个答案:

答案 0 :(得分:2)

我没有意识到这个问题没有得到正式答案,正如我在上面的评论中写的那样,解决方案很简单。纯粹是升级到Java 6的情况。