Я был следующие свойства в моем Spring Загрузочный 1.4 приложения говорить с местным MySQL с использованием JDBC -Как найти потоки пула соединений JDBC, созданные в приложении SpringBoot?
- spring.datasource.test-то время-ожидания = истинный
- spring.datasource.test-на-заема = истинная
- spring.datasource.validation-запрос = 1 ВЫБОР
- spring.datasource.initial размер = 50
- spring.datasource.max-активные = 100
- spring.datasource.max-простаивает = 50
- spring.datasource.min-простаивает = 50
- spring.datasource.initial размер = 50
- spring.datasource.tomcat.max-активные = 100
- spring.datasource.tomcat.max-простаивает = 50
- spring.datasource.tomcat.min-простаивает = 50
- spring.datasource.tomcat.initial размера = 50
Я знаю, что последние четыре строки повторы, но я сохранил тех попробуйте, если какая-либо комбинация работает. Документация Spring Boot говорит, что все свойства datasource tomcat должны находиться под spring.datasource.tomcat. *. С другой стороны, первые три строки работают над SpringBoot 1.3 и 1.4. Таким образом, ожидалось, что параметры пула соединения также будут работать.
После запуска приложения я проверил все его потоки в VisualVM. Счет ~ 20, который намного меньше 50, который я установил. После стрельбы говорят 1000 вызовов REST, которые разговаривают с MySQL с использованием репозиториев Spring Data, я вижу, что количество потоков увеличивается до 50. Однако, как только вызовы REST завершены, и через некоторое время количество потоков уменьшается до ~ 30. Я вижу, что ~ 10 рабочих потоков остаются без дела.
Итак, мой запрос: как вы обнаружите потоки пула соединений JDBC в пуле потоков приложений Spring Boot?
Кроме того, что не так в конфигурации конфигурации? Почему пул соединений JDBC ожидаемого количества потоков не создается?
Спасибо! Я видел только поток Tomcat JDBC Pool Cleaner, поэтому сомневался в создании потока или отдельного потока. – Martin