|
|
|
разрыв соединения с БД
|
|||
|---|---|---|---|
|
#18+
Имеется web-приложение построенное на основе Struts. В bean-компонените соединение закрывается следующим образом: rs.close(); stmt.close(); con.close(); Однако соединение продолжает существовать до тех пор пока не остановишь Tomcat. Что не так делаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2007, 17:32:07 |
|
||
|
разрыв соединения с БД
|
|||
|---|---|---|---|
|
#18+
nemo!!!!Однако соединение продолжает существовать до тех пор пока не остановишь Tomcat. Это называется Connection Pool. Когда ты вызываешь метод close физическое соединение не закрывается. Оно просто помещается в пул и становится доступным для переиспользования. Struts тут не при чем. Смотри код работы и с БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2007, 18:04:46 |
|
||
|
разрыв соединения с БД
|
|||
|---|---|---|---|
|
#18+
Я не получаю соединение из пула явно. Код работы с БД следующий: 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(); } } Как решить проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2007, 18:24:26 |
|
||
|
разрыв соединения с БД
|
|||
|---|---|---|---|
|
#18+
nemo!!!!Я не получаю соединение из пула явно. Код работы с БД следующий: con = dataSource.getConnection(); Я ещё не видел реализаций DataSource, которые бы не были пулом соединений. Поэтому приведенный код меня только убеждает в том что соединение в пуле. А для чего понадобилось его закрывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2007, 19:02:02 |
|
||
|
разрыв соединения с БД
|
|||
|---|---|---|---|
|
#18+
Одновременно с БД может быть только три соединения. Так что через некоторое время вылезает ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2007, 10:02:12 |
|
||
|
разрыв соединения с БД
|
|||
|---|---|---|---|
|
#18+
nemo!!!!Одновременно с БД может быть только три соединения. Так что через некоторое время вылезает ошибка. Значит настрой DataSource так, чтобы он хранил максимум три соединения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2007, 10:36:35 |
|
||
|
разрыв соединения с БД
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЯ ещё не видел реализаций DataSource, которые бы не были пулом соединений. Поэтому приведенный код меня только убеждает в том что соединение в пуле. Я видел в JDBC драйвере Oracle Times Ten. От осознования онного выпал в осадок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2007, 18:48:39 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2146191]: |
0ms |
get settings: |
18ms |
get forum list: |
28ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
66ms |
get topic data: |
20ms |
get first new msg: |
11ms |
get forum data: |
5ms |
get page messages: |
95ms |
get tp. blocked users: |
3ms |
| others: | 303ms |
| total: | 565ms |

| 0 / 0 |
