JDBC ConnectionPoolManager повторно использовать соединение без очистки переменных сеанса - PullRequest
0 голосов
/ 08 ноября 2018

В моем весеннем приложении я использую пул соединений JDBC с connectionCachingEnabled. Считайте, что у меня maxLimit как 3 . Через мое приложение я вызываю пакет для выполнения набора процедур. В теле пакета я объявил несколько переменных ( varOne , varTwo ), которые используются всеми процедурами в пакете. Значение для переменных будет установлено в одной из процедур как varOne: = '1' и varTwo: = '2', если входной параметр 'in_numData' равен 'ABC', иначе они не были затронуты.

Теперь я запускаю свое приложение, чтобы вызвать процедуру с DEF в первый раз, затем ABC для 2-го, 3-го и 4-го раза, значения переменных печатают '1' и '2' соответственно. До этого система работает как положено. Но когда я запускаю DEF в пятый раз, я ожидаю, что в переменных пакета не должно быть никаких значений. Но они снова печатают значения как «1» и «2».

Я полагаю, поскольку соединение используется повторно, переменные не очищаются и печатается предыдущее значение.

Есть ли способ преодолеть эту проблему. Можно ли очистить переменные, не закрывая соединение, а затем повторно использовать соединение.

Заранее спасибо.

...