#java #spring #jdbc #spring-boot #connection-pooling
#java #spring #jdbc #spring-boot #объединение пулов соединений
Вопрос:
Я интегрирую Spring boot для замены существующего RESTful API, который у нас уже был. Я хочу использовать пул подключений, который поставляется вместе с ним. Я новичок в Spring boot. Я вижу в DataSource
объекте, что я могу получить соединение, но оно возвращается null
.
Я также знаю, что пытаться использовать это соединение снаружи отдельно — не лучшая практика.
Как я могу использовать JDBC-соединение Spring boot с моим существующим основным объектом доступа к базе данных Java?
Комментарии:
1. Вопрос не очень ясен. Вы имеете в виду,
dataSource.getConnection()
возвращает null или ваш источник данных равен null? Если вы не хотите использовать spring jdbc, hibernate и т.д., То, очевидно, вы можете использовать стандартный источник данных драйвера или любой другой объединенный источник данных, т. е. apache-dbcp для этой цели.
Ответ №1:
Создайте компонент в классе конфигурации следующим образом:
@Configuration
public class Configuration {
@Bean
public DataSource dataSource() {
ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(connectURI,null);
PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory);
ObjectPool objectPool = new GenericObjectPool(poolableConnectionFactory);
PoolingDataSource dataSource = new PoolingDataSource(objectPool);
return dataSource;
}