Как я могу получить соединение из пула соединений Tomcat 8
Я учусь работать с Servlet api и пытаюсь разработать свое первое веб-приложение. И у меня проблема с подключением JDBC. Я понимаю, как я могу подключиться к моей БД, но я хочу получить соединение из пула соединений. Я не понимаю, как я могу с этим работать. Можете ли вы дать мне совет или ссылку на пример приложения, чтобы увидеть, как оно работает?
1 ответ
Решение
Класс GenericObjectPool может использоваться для создания пула произвольных объектов. Вы можете создать пул, как показано ниже.
public DataSource setUpPool() throws Exception {
Class.forName(JDBC_DRIVER);
// Creates an Instance of GenericObjectPool That Holds Our Pool of Connections Object!
gPool = new GenericObjectPool();
gPool.setMaxActive(5);
// Creates a ConnectionFactory Object Which Will Be Use by the Pool to Create the Connection Object!
ConnectionFactory cf = new DriverManagerConnectionFactory(JDBC_DB_URL, JDBC_USER, JDBC_PASS);
// Creates a PoolableConnectionFactory That Will Wraps the Connection Object Created by the ConnectionFactory to Add Object Pooling Functionality!
PoolableConnectionFactory pcf = new PoolableConnectionFactory(cf, gPool, null, null, false, true);
return new PoolingDataSource(gPool);
}
Получить соединение из пула, используя вышеуказанный метод:
ConnectionPool jdbcObj = new ConnectionPool();
Connection connObj = null;
DataSource dataSource = jdbcObj.setUpPool();
connObj = dataSource.getConnection();