powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / разрыв соединения с БД
7 сообщений из 7, страница 1 из 1
разрыв соединения с БД
    #34432020
nemo!!!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется web-приложение построенное на основе Struts.
В bean-компонените соединение закрывается следующим образом:
rs.close();
stmt.close();
con.close();
Однако соединение продолжает существовать до тех пор пока не остановишь Tomcat.
Что не так делаю?
...
Рейтинг: 0 / 0
разрыв соединения с БД
    #34432181
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nemo!!!!Однако соединение продолжает существовать до тех пор пока не остановишь Tomcat.

Это называется Connection Pool. Когда ты вызываешь метод close физическое соединение не закрывается. Оно просто помещается в пул и становится доступным для переиспользования.
Struts тут не при чем. Смотри код работы и с БД
...
Рейтинг: 0 / 0
разрыв соединения с БД
    #34432257
nemo!!!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не получаю соединение из пула явно. Код работы с БД следующий:
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
Result res = null;
try {
con = dataSource.getConnection();
stmt = con.createStatement();
rs = stmt.executeQuery(queryText);
// Преобразование ообъекта ResultSet к объекту
// Result, который можно использовать с тегами JSTL
res = ResultSupport.toResult(rs);
}
catch (SQLException se) {
se.printStackTrace();
}
finally {
try {
if (rs != null) rs.close();
}
catch (SQLException se) {
se.printStackTrace();
}
try {
if (stmt != null) stmt.close();
}
catch (SQLException se) {
se.printStackTrace();
}
try {
if (con != null) con.close();
}
catch (SQLException se) {
se.printStackTrace();
}
}
Как решить проблему?
...
Рейтинг: 0 / 0
разрыв соединения с БД
    #34432389
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nemo!!!!Я не получаю соединение из пула явно. Код работы с БД следующий:
con = dataSource.getConnection();

Я ещё не видел реализаций DataSource, которые бы не были пулом соединений. Поэтому приведенный код меня только убеждает в том что соединение в пуле. А для чего понадобилось его закрывать?
...
Рейтинг: 0 / 0
разрыв соединения с БД
    #34433074
nemo!!!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Одновременно с БД может быть только три соединения. Так что через некоторое время вылезает ошибка.
...
Рейтинг: 0 / 0
разрыв соединения с БД
    #34433170
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nemo!!!!Одновременно с БД может быть только три соединения. Так что через некоторое время вылезает ошибка.

Значит настрой DataSource так, чтобы он хранил максимум три соединения.
...
Рейтинг: 0 / 0
разрыв соединения с БД
    #34435346
Евгений Путилин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЯ ещё не видел реализаций DataSource, которые бы не были пулом соединений. Поэтому приведенный код меня только убеждает в том что соединение в пуле.
Я видел в JDBC драйвере Oracle Times Ten. От осознования онного выпал в осадок.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / разрыв соединения с БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]