SQLException:Jboss Fuse中没有合适的驱动程序

时间:2014-11-11 14:28:26

标签: oracle jbossfuse

我正在使用c3p0.ComboPooledDataSource连接到我的oracle数据库,这里是代码片段,我已经在Jboss Fuse ESB中部署了这个应用程序

 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
    destroy-method="close">
    <property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
    <property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1523:xe" />
    <property name="user" value="test" />
    <property name="password" value="test" />
 </bean

当我尝试将值插入到数据库中时   com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@339d05df - 获取尝试失败!!!清除待处理的收购。在尝试获取所需的新资源时,我们未能成功超过允许的最大获取尝试次数(30)。上次获取尝试异常: java.sql.SQLException:没有合适的驱动程序     在java.sql.DriverManager.getDriver(DriverManager.java:278)[:1.7.0_55]

当我使用org.springframework.jdbc.datasource.SimpleDriverDataSource而不是ComboPooledDataSource时它工作正常

1 个答案:

答案 0 :(得分:0)

我之前在Fuse / OSGi中设置连接池时遇到问题,因为连接池包(在这种情况下是包含com.mchange.v2.c3p0.ComboPooledDataSource的包)不包含它在Import中使用的驱动程序-包。这可能是问题吗?

如果是这样,有很多选项可以解决问题。例如,你可以,例如:

  • 重新打包池以包含Import-Package
  • 使JDBC驱动程序成为池包的片段包

您会发现搜索“OSGI JDBC池”通常会引发大量有关此问题的其他文章和提示。