Разница между общим и не доступным соединением в пуле соединений jdbc? - PullRequest
2 голосов
/ 19 марта 2009

Мы замечаем нечто странное в нашем веб-приложении Struts, которое было размещено на сервере приложений Sun Enterprise Edition 8.1.

NumConnUsed для мониторинга ресурсов JDBC остается равным 100 по соединениям, даже если активность пользователей была относительно низкой.

Я пытаюсь провести исследование и нашел следующие ссылки http://j2ee -performance.blogspot.com / http://www.ibm.com/developerworks/websphere/library/techarticles/0506_johnsen/0506_johnsen.html

"Когда приложение закрывает разделяемое соединение, соединение не закрывается по-настоящему и не возвращается в свободный пул. Скорее, оно остается в пуле общих соединений, готовое к другому запросу в том же LTC для соединения с тот же ресурс. "

Основываясь на вышеприведенных комментариях, это правда, что если моя область ссылки на ресурс web.xml установлена ​​на совместное использование, когда сторона приложения закрывает соединение, оно остается в общем пуле соединений, таким образом, numconnused всегда так высоко?

1 Ответ

3 голосов
/ 19 марта 2009

Если я интерпретирую ссылки своим собственным особым образом (;)), общие и неразделенные соединения основаны на разных соединениях на одной странице.

java.sql.Connection connectionOne = DriverManager.getConnection(...);
...
java.sql.Connection connectionTwo = DriverManager.getConnection(...);

Эти два, на первый взгляд, кажутся отдельными - но если ваша AS настроена на совместное использование соединений, второе будет создано с указателем на первое соединение, а не на возврат нового соединения. Когда страница заканчивается, соединение должно быть отправлено обратно в пул.

AS, вероятно, поддерживает пул, заполненный соединениями, для повышения производительности.

Это не факт, только моя собственная интерпретация ссылок.

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