一尘不染

Tomcat连接池,为Web应用程序安装jdbc驱动程序

tomcat

我正在使用 Tomcat 6 作为容器制作一个Web应用程序,并且试图使用连接池。我正在使用的jdbc驱动程序是 jtds-1.2.2
将驱动程序jar放在下时${Catalina_Home}/lib,该池可以正常工作,但是我的托管服务提供商不允许我这样做。

将驱动程序放在中时,出现CNF异常WEB-INF/lib

有人可以提供一种解决方案,使我不必访问tomcat的安装吗?


阅读 321

收藏
2020-06-16

共1个答案

一尘不染

如果您无法控制服务器,那么您将迷路。只需自己创建连接池,而不是让容器来做。

我建议为此使用c3p0(这比Tomcat的内置DBCP更好,因为它被锁定到单个线程)。将c3p0库放入中,/WEB- INF/lib并根据其文档进行创建:

ComboPooledDataSource dataSource = new ComboPooledDataSource(); 
dataSource.setDriverClass("org.postgresql.Driver"); 
dataSource.setJdbcUrl("jdbc:postgresql://localhost/testdb");
dataSource.setUser("dbuser");
dataSource.setPassword("dbpassword"); 
// ...

Connection connection = null;
// ...
try {
    connection = dataSource.getConnection();
    // ...
} finally {
    // ...
    if (connection != null) try { connection.close(); } catch (SQLException logOrIgnore) {} // Always close resources in finally!
}
2020-06-16