在Tomcat 8上使用Mybatis,c3p0启动webapp时出错

时间:2015-05-07 11:01:19

标签: java tomcat mybatis c3p0 tomcat8

我正在尝试在 Tomcat 8 上部署我的webapp,使用 Mybatis 3.2.7 c3p0 连接池连接到< strong> SQLServer 数据库。我的classpath中有sqljdbc4.jar。我在webapp启动期间查询数据库以获取一些值。

该应用程序在Tomcat 7中运行,但在Tomcat 8上,我无法连接到数据库。我使用eclipse进行了很多调试,根本原因是在c3p0的文件BasicResourcePool.class文件中等待资源可用但随后抛出java.lang.InterruptedException

由于这个原因,Mybatis正在抛出一个java.SQL.SQLException,因此我的webapp无法启动,因为它无法连接到数据库。

是否有其他人升级到Tomcat 8并成功使用了Mybatis-c3p0?如果是的话我错过了这里的东西吗?

1 个答案:

答案 0 :(得分:1)

解决了这个问题。这是JDBC驱动程序问题。 Mybatis在展示潜在的异常方面不是很好。

在tomcat 8的文档中找到了这个:

  

因此,在其中具有数据库驱动程序的Web应用程序   WEB-INF / lib目录不能依赖服务提供者机制   并应明确注册驱动程序。

因此,我在应用启动期间添加了[0]和相应的driverClass,这解决了我的问题。