我正在使用 Tomcat 6 作为容器制作一个Web应用程序,并且试图使用连接池。我正在使用的jdbc驱动程序是 jtds-1.2.2 。 将驱动程序jar放在下时${Catalina_Home}/lib,该池可以正常工作,但是我的托管服务提供商不允许我这样做。
${Catalina_Home}/lib
将驱动程序放在中时,出现CNF异常WEB-INF/lib。
WEB-INF/lib
有人可以提供一种解决方案,使我不必访问tomcat的安装吗?
如果您无法控制服务器,那么您将迷路。只需自己创建连接池,而不是让容器来做。
我建议为此使用c3p0(这比Tomcat的内置DBCP更好,因为它被锁定到单个线程)。将c3p0库放入中,/WEB- INF/lib并根据其文档进行创建:
/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! }