Как уменьшить количество подключений к БД - PullRequest
0 голосов
/ 25 мая 2018

В моем проекте у нас есть 800 автоматических тестовых случаев, и для каждого тестового примера мы придерживаемся следующего подхода 1. Откройте соединение с БД 2. Запустите запрос на основе тестового примера 3. Закройте соединение с БД

Вышешаг повторяется 800 раз, так как у нас 800 случаев, есть ли другой альтернативный способ уменьшить количество открытых и закрытых соединений с БД?

На самом деле мы пробовали подобное соединение с открытой БД один раз, затем запустили все тестовые примеры (т. е. выполнение запросов) затем, наконец, закрытие соединения, но мы видим проблемы в этом подходе, поэтому, пожалуйста, предложите это.

1 Ответ

0 голосов
/ 25 мая 2018

Я бы посоветовал определить конфигурацию / контекст Spring, который содержит хотя бы один компонент, то есть пул соединений с базой данных, и использовать эту конфигурацию / контекст Spring в каждом тесте, требующем подключения к базе данных.

Вы можете использовать любое соединениепул, который вам нравится (например, c3p0 или Apache DBCP ).

Поскольку Spring не закрывает контекст между тестами (если вы не скажете ему сделать это с @DirtiesContext), пул соединений будет разделен между этими тестами.Но вы сможете определить разные настройки для разных тестов, и соединение будет правильно закрыто после завершения набора тестов.

Другой (более уродливый, но простой) вариант - использовать статический экземпляр пула соединений, общий для всехтесты.Т.е. определить некоторый класс со статической ссылкой на пул соединений и использовать его во всех тестах в качестве замены для прямого открытия соединения.Соединения будут закрыты при выходе из JVM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...