Tomcat connection pooling, install jdbc driver for web-app
connection-pooling, java, jdbc, tomcat
Solution
If you don't have control over the server, then you're lost. Just create the connection pool yourself instead of letting the container do it.
I suggest to use c3p0 for this (which is far better than Tomcat's builtin DBCP since it's locked to a single thread). Put the c3p0 libraries in the `/WEB-INF/lib` and create it as per its documentation:
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!
}
Problem
I am making a web-app with Tomcat 6 as the container and I'm trying to use connection pooling. The jdbc driver I am using is jtds-1.2.2. The pool works fine when the driver jar is placed under `${Catalina_Home}/lib`, but my hosting provider would not let me do so. I get a CNF-Exception when the driver is placed in the `WEB-INF/lib`. Could someone please provide a solution where I won't have to access the tomcat installation?