Как нам узнать, использует ли приложение весенней загрузки пул соединений

У меня есть одно весеннее загрузочное приложение, и я использую управляемый postgres в качестве бэкенда. У меня нет прав администратора на postgres.

Если я ничего не упоминаю в своем весеннем загрузочном приложении, означает ли это, что он использует какой-то пул соединений?

мой весенний загрузочный application.yml, как показано ниже

spring:
  profiles: prod
  datasource:
    driver-class-name: org.postgresql.Driver
    url: <<jdbc-url>>
    username: prddb
    password:
    tomcat:
      validation-interval: 30000
      test-on-borrow: true
      validation-query: SELECT 1

когда я проверяю панель инструментов, мои приложения почти используют все соединения.

Это зависит от ваших банок, можете ли вы показать свой pom.xml? у вас есть tomcat-jdbc?

user7294900 21.01.2019 11:31

@user7294900 user7294900, мой проект gradle, я видел загруженные зависимости tomcat-jdbc:8.5.34, означает ли это, что пул соединений уже присутствует и настроен?

Bravo 21.01.2019 11:33

Только что увидел, что Spring Boot внутри имеет tomcat-jdbc, который имеет пул соединений, но могу ли я узнать, каковы конфигурации по умолчанию для этого пула соединений? как изменить максимальное количество простаивающих соединений в нашей весенней загрузке, я имею в виду, можем ли мы переопределить эти настройки?

Bravo 21.01.2019 11:59

Посмотрите в журналах, вы загружаете пул соединений tomcat или hikari? для кота установлен под tomcatmax-active: 50

user7294900 21.01.2019 12:00

спасибо, я только что увидел, что это пул соединений tomcat jdbc org.apache.tomcat.jdbc.pool.DataSource@XXXXX

Bravo 21.01.2019 12:17

у меня есть еще одно сомнение, если те же данные базы данных, если я использую в других 2 отдельных приложениях, в общей сложности три пула соединений присутствуют для этих данных, я подключаюсь? когда я увидел детали пула соединений по умолчанию maxActive=100; максимальное бездействие = 100; мин. простоя = 10; начальный размер=10; максимальное ожидание=30000;

Bravo 21.01.2019 12:21

мне нужно переопределить maxActive до 50?

Bravo 21.01.2019 12:22
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
7
681
1

Ответы 1

Если вы добавили зависимость в pom.xml, весенняя загрузка должна сканировать и создать пул соединений, в противном случае вы можете указать источник данных вручную в файле .properties следующим образом:

spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource

Также для проверки пула соединений можно создать простой тест:

@RunWith(SpringRunner.class)
@SpringBootTest
public class ConnectionPoolTest {

@Autowired
private DataSource dataSource;

@Test
public void connectionPoolTest() {
    assertThat(dataSource.getClass().getName())
      .isEqualTo("org.apache.tomcat.jdbc.pool.DataSource");
 }
}

Другие вопросы по теме