Отмена текущей транзакции с помощью Spring TransactionTemplate - PullRequest
0 голосов
/ 02 сентября 2011

Я использую пул соединений и Spring TransactionTemplate. Если вы хотите завершить пул соединений, сначала все соединения должны быть возвращены в пул, это означает, что connection.close() должен быть вызван. У меня есть один поток, использующий TransactionTemplate для некоторых запросов, и другой поток, который хочет вызвать какой-либо метод выключения в пуле соединений, но прежде чем сделать это, он сначала должен сказать TransactionTemplate, чтобы закрыть все соединения (фактически только возвращая их бассейн).

Как это можно сделать в Spring для немедленного вызова close на используемом соединении?

1 Ответ

0 голосов
/ 15 сентября 2011

Если вы используете Hibernate вместе с Spring, используйте:

hibernate.connection.release_mode=after_transaction

Если вы хотите разорвать соединение сразу после транзакции.

hibernate.connection.release_mode=after_statement

Если вы хотите разорвать соединение после каждогооператор

Эти два параметра - единственные известные мне способы, которые позволят освободить используемое соединение быстрее, чем поведение по умолчанию.По крайней мере, что касается Hibernate.Если вы используете другую библиотеку, пожалуйста, опишите какую.

...