|
|
|
Struts: проблема при доступе к БД из отдельного Action'а для Tiles
|
|||
|---|---|---|---|
|
#18+
Есть Web-приложение на Struts и Tiles. У одного из Tiles есть отдельный контроллер (Action). В этом контроллере есть операции с базой данных через JDBC: DataSource ds = Utils.getDataSource(); Connection con = ds.getConnection(); ... Некоторые страницы, в которые включён этот Tile, имеют контроллер (Action), в котором тоже есть операции с базой данных. При нескольких переходах между такими страницами (включающими тот Tile) возникает такая проблема: exception: javax.servlet.ServletException: Cannot get a connection, pool exhausted, cause: Timeout waiting for idle object ... root cause: org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted, cause: Timeout waiting for idle object ... Падает на строке: Connection con = ds.getConnection(); в контроллере страницы, включающей тот Tile. Проблема появилась именно тогда, когда в контроллере Tile появились операции с БД. Если в контроллере Tile нет операций с БД, то проблема не возникает. Делать con.close(); не забываю. почему тогда "pool exhausted", у кого-нибудь есть идеи? Работу с БД можно убрать из того контроллера Tile (просто сделать решение задачи по-другому), но мне как специалисту интересно, как "работает" эта проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2004, 23:42 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=832&tid=2153466]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 266ms |
| total: | 364ms |

| 0 / 0 |
