| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > JNDI-JDBC - как вернуть коннект? |
| Автор: Се ля ви 27.8.2005, 18:02 | ||
| Сначала устанавливал всегда прямые соединения с базой из веб-приложения, но из-за более чем "желательной" работы метода finalize в своё время поимел кучу проблем с незакрытыми коннеутами к базе, по-этому знакомый посоветовал получать коннекты к базе через пул соединений с помощью JNDI. Я написал такой код:
Т.е. для каждой операции/группы операций с базой ищется коннект, передаётся методу, который "это делает" и потом конект закрывается и выходит за область видимости переменная, которая за него отвечает - значит, он должен стать добычей сборщика мусора, который и должен освободить конекшн для другого процесса. Но коннекты, блин, копятся... Не пойму - почему. |
| Автор: Се ля ви 27.8.2005, 20:02 | ||||
| Отбой тревоги. Я сам контекст забыл закрыть. Вот правильный код защищённого доступа к JDBC через JNDI:
Обращение к нему, соответственно, может быть таким:
P.S. А прямые коннекты к базе - это, IMHO, для небольших программулек... |
| Автор: DEMO_VERSION 18.10.2005, 12:19 | ||
| No eto znachit chto y menya dolzhen but' zapyshen server?? Dolzhno but EJB??? Kakoe znacenie jndiDSName??? ds = (DataSource) namingContext.lookup(jndiDSName); Posmotrite primer ispolzovaniya Proxool http://proxool.sourceforge.net/quickStart.html Znachit li eto cho esli ya zahocy vupolnit kakojto SQL i mne nado bydet polycit Statement ili PreparedStatement mne nado bydet pisat vnytri fynkcui :
a potom yzhe zakruvat i Statement i Connection????? PS: y menya pokamis ne Web programa a prostaya konsolnaya. |
| Автор: Се ля ви 21.10.2005, 11:31 | ||||||
Обычно - да. По крайней мере, в моём варианте было так. Либо самописный какой-нить Пул...
EJB тут абсолютно ни при чём.
У меня это константа, определяется при настройках твоего пула, ты её сам задаёшь, а потом сюда прописываешь А вообще, почитайте сначала про JNDI, например - http://forum.vingrad.ru/index.php?showtopic=45382. ;) |