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

Это называется Connection Pool. Когда ты вызываешь метод close физическое соединение не закрывается. Оно просто помещается в пул и становится доступным для переиспользования.
Struts тут не при чем. Смотри код работы и с БД
...
Рейтинг: 0 / 0
02.04.2007, 18:24:26
    #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
02.04.2007, 19:02:02
    #34432389
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разрыв соединения с БД
nemo!!!!Я не получаю соединение из пула явно. Код работы с БД следующий:
con = dataSource.getConnection();

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

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


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