Как узнать, закрывается ли соединение, заброшено или нет?

Я использую пул соединений Tomcat и установил свойства removeAbandoned=true и removeAbandonedTimeout=60 в родере, чтобы убедиться, что любое соединение, которое занимает более 60 секунд, должно быть прекращено.

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

Может ли кто-нибудь помочь мне в этом.

Между тем я знаю, что могу установить перехватчики, которые будут вызываться при каждой операции для этого соединения, но внутри перехватчика, как я узнаю, закрыто ли соединение, потому что оно заброшено.

Может ли кто-нибудь помочь мне в этом?


person Balkrishan Nagpal    schedule 28.01.2013    source источник


Ответы (1)


когда для removeAbandoned установлено значение true, соединения удаляются из пула соединений. Это неразрывно связано с тем, что конечный пользователь увидит в пользовательском интерфейсе приложения, поскольку его запрос будет обслуживаться другим соединением из пула соединений.

Однако есть свойство регистрировать потерянное соединение, используя (если это то, что вам нужно) logAbandoned =true

Это зарегистрирует потерянное соединение в журнале.

Кроме того, перехватчики можно переопределить для пользовательских интерфейсов.

person Anugoonj    schedule 28.01.2013
comment
Одна вещь logAbandoned - это не то, на что я смотрю, потому что сейчас мне не интересно знать причину того же самого. Кроме того, вы сказали, что запрос будет обслуживаться другим соединением, вы уверены в этом, потому что я прочитал документацию, но в ней ничего подобного не говорится. Он просто говорит, что соединение будет закрыто, как только оно превысит тайм-аут. - person Balkrishan Nagpal; 28.01.2013