How to clear KA timer timeout issue


we are using solace as JMS channel in the TIBCO BE, when running in the engine in the cache mode , am getting below error as:
com.solacesystems.jcsmp.protocol.impl.KeepaliveTimeoutHandler] Sending keepalive message (1/3)
2020 Feb 07 14:23:30:433 GMT +5 roms_inference Debug [Context_3_ReactorThread] - [com.solacesystems.jcsmp.protocol.impl.TcpChannel] Scheduling KA timer in 3000ms
2020 Feb 07 14:23:30:448 GMT +5 roms_inference Debug [Context_6_ReactorThread] - [com.solacesystems.jcsmp.protocol.impl.KeepaliveTimeoutHandler] Keepalive Timeout expired.

Please help us to know how to fix this.


  • Aaron
    Aaron Member, Administrator, Moderator, Employee Posts: 541 admin

    Hi Manikanta. This isn't an error. It's being logged at debug as it's part of the underlying workings of the API. In order for the API to check it isn't talking to a hung socket, blocked port, or hung broker, it will automatically send a "keep alive" message (not a TCP keep-alive packet) if it has not received any message from the broker in a specified period of time, just to the broker to confirm the connection is still valid. The defaults for this are part of the connection factory:

        keep-alive-enabled           : true
        keep-alive-interval          : 3000
        keep-alive-count-max         : 3

    Set your log level to INFO for com.solacesystems.jcsmp so you don't have to see it. Thanks!

  • Manikanta532
    Manikanta532 Member Posts: 13

    Hi Aaron,
    Thank you./
    Could you please provide a screenshot where we can set it to INFO. Could not find it in the connection factory page of the solace.

  • Aaron
    Aaron Member, Administrator, Moderator, Employee Posts: 541 admin

    It wouldn't be in the connection factory configuration (which is for JMS)... it would be in your log4j config file, or Apache Commons Logging or whatever logging framework you're using. If these logs are showing up in BE, then you'd have to check the Tibco BE documentation on how to configure logging levels for different Java packages.