Too many Threads of "TibjmsxLinkTcp$Pinger" Class.

Too many Threads of "TibjmsxLinkTcp$Pinger" Class.

book

Article ID: KB0087498

calendar_today

Updated On:

Products Versions
TIBCO Enterprise Message Service -
Not Applicable -

Description

Resolution:
Description
===========
EMS Connections Pinger thread is not removed when calling connection.close() call. This will cause a leak of threads of ""TibjmsxLinkTcp$Pinger" Class, when the application server needs to do "hot deploy" for its Java application utilizing EMS API.

Environment
===========
Java

Resolution
===========

1). Since EMS 6.3, the "TIBCO EMS Connections Pinger" thread is no longer used unless you set the ping interval (using Tibjms.setPingInterval or the system property tibco.tibjms.ping.interval) to a strictly positive value. You could address this issue by upgrading the EMS client API to EMS 6.3+

2). Prior to EMS 6.3, there are two ways to disable the Pinger thread:

#1). Call Tibjms.setPingerInterval(0) before the first connection is created by the application. Subsequent calls have no effect.

#2). Set the system property tibco.tibjms.ping.interval to be zero.


3). Do not confuse with the thread "TIBCO EMS Pinger for connection &ltconnection id>", which is per connection when "client_heartbeat_server" is defined: the configuration instructs clients to send heartbeats to the server. This thread is closed when the connection closes.

Issue/Introduction

Too many Threads of "TibjmsxLinkTcp$Pinger" Class.