Перечислять открытые соединения JDBC? - PullRequest
2 голосов
/ 15 января 2010

Как мне перечислить / посчитать все открытые соединения JDBC? Я видел эту тему , которая не отвечает на мой вопрос.

Меня интересует написание тестового кода, в котором тестируемый объект (называемый ConnectionUser) поддерживает свое собственное соединение. В своих тестах я хочу сделать такие вещи, как проверка того, что создание экземпляра ConnectionUser не открывает соединение, и что вызов ConnectionUser.open приводит к одному открытому соединению. Меня не интересует перечисление / подсчет соединений в самом производственном коде или реализация пула соединений.

Я думал об использовании чего-то вроде jmockit для проверки вызовов статического метода DriverManager.getConnection, но предпочел бы что-то менее абстрактное - то есть, чтобы драйвер просто выдал мне список всех открытых соединений.

1 Ответ

2 голосов
/ 15 января 2010

Как мне перечислить / посчитать все открытые соединения JDBC?

Если вы не используете класс-оболочку для DriverManager, тогда вы не сможете.

Я думал о том, чтобы использовать что-то вроде jmockit для проверки вызовов статического метода DriverManager.getConnection, но предпочел бы что-то менее абстрактное, т.е. чтобы драйвер просто выдал мне список всех открытых соединений.

Может быть ... но водитель не даст вам эту информацию. На самом деле, если вы хотите протестировать свой код изолированно, тогда используйте mocks. В конце концов, откуда вы знаете, что драйвер вам не врет :) Так что, действительно, я бы использовал JMockit , чтобы заменить DriverManager и высмеивать вызовы статических методов и выполнять необходимые проверки.

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