Products | Versions |
---|---|
TIBCO Enterprise Message Service | - |
Not Applicable | - |
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 <connection 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.