У меня есть устаревшее веб-приложение.Witch использует jdbcTemplate для выполнения хранимых процедур из БД (Oracle), процедур, расположенных в пакетах.Проблема заключается в том, что когда разработчики базы данных компилируют пакеты, которые я получаю в качестве исключений, например, изменилось существующее состояние пакетов (ora 4061).и они делают это 1 или 2 раза в неделю.Затем я должен перезапустить приложение, чтобы перезапустить пул.Приложение использует OracleDataSource.Я не могу ничего изменить в этой БД, но могу сменить менеджера пула.так что вопрос в том.возможно ли закрыть это соединение?не просто вернуться в бассейн.и получить новое соединение (из пула), если это исключение появляется?спасибо !!
люди предложили повторно выполнить эту хранимую процедуру, когда эта ошибка появляется.Это сработало.
<bean id="ds_name" class="oracle.jdbc.pool.OracleDataSource"
destroy-method="close">
<property name="connectionCachingEnabled" value="true" />
<property name="URL" value="****" />
<property name="user" value="user" />
<property name="password" value="pass" />
<property name="connectionCacheProperties">
<value>
MinLimit:1
MaxLimit:100
InitialLimit:1
ConnectionWaitTimeout:120
InactivityTimeout:180
ValidateConnection:true
</value>
</property>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="ds_name" />
</bean>