Как пометить соединение для выселения из пула в Tomcat 6 - PullRequest
0 голосов
/ 23 июля 2010

У нас есть приложение, использующее Oracle StoredProc. Когда хранимый процесс обновляется или перекомпилируется извне нашего приложения, соединения с базой данных должны быть закрыты и вновь открыты. В противном случае мы получаем Oracle Exception ORA-20003.

До сих пор мы использовали решение, специфичное для WebLogic, где мы выдавали определенное исключение, а пул соединений Weblogic отмечал бы соединение для выселения. Сейчас мы переходим на Tomcat 6.

Есть ли подобное решение для Tomcat 6? Или, что еще лучше, универсальное решение?

Мы могли бы настроить наш пул соединений с minIdle = 0 и timeBetweenEvictionRunsMillis = некоторым небольшим числом, но гарантии все равно не было бы, только смягчение проблемы.

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 23 июля 2010

Можете ли вы придумать оператор SELECT, который подтвердил бы актуальность соединения? Если это так, вы можете использовать его для настройки пула соединений с validationQuery (возможно, в сочетании с connectionInitSqls).

Редактировать: Возможно, USER_OBJECTS.LAST_DDL_TIME может помочь?

...