Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Очистка ThreadLocal


Автор: gurovmichael 21.7.2011, 10:50
Всем здравствуйте!

Я использую ThreadLocal на EJB стороне своего EAR приложения. Когда в веб части логинится пользователь, в этот ThreadLocal попадает коннектор к моему удаленному серверу. Этот коннектор используется во всех моих бинах. Добавляется в ThreadLocal коннектор при старте транзакции в веб части, и удаляется при окончании транзакции. 

У меня возник вопрос, может ли возникнуть такая ситуация, что я по какой то причине не смог удалить объект и нужно ли заботиться о чистке этого тредлокала в такой ситуации и как это делать?

Автор: Skipy 21.7.2011, 11:17
А что происходит, когда транзакция валится?

Автор: MisterCleric 21.7.2011, 12:06
javax.transaction.Synchronization
Вам в помощь...

Автор: gurovmichael 21.7.2011, 13:28
Цитата(Skipy @ 21.7.2011,  11:17)
А что происходит, когда транзакция валится?

нет, я не имел ввиду то, что она у меня валится, вопрос в том, может ли быть такая ситуация в принципе и стоит ли задумываться над судьбой ThreadLocal

Автор: Farmazon 26.7.2011, 06:53
Стоит, если там разделяемый ресурс. Если коннектор предполагает открытое соединение, то его надо закрыть или вернуть в пул.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)