我正在尝试在 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?如果是的话我错过了这里的东西吗?
答案 0 :(得分:1)
解决了这个问题。这是JDBC驱动程序问题。 Mybatis在展示潜在的异常方面不是很好。
在tomcat 8的文档中找到了这个:
因此,在其中具有数据库驱动程序的Web应用程序 WEB-INF / lib目录不能依赖服务提供者机制 并应明确注册驱动程序。
因此,我在应用启动期间添加了[0]
和相应的driverClass,这解决了我的问题。