HTTP Pinging
To get the server to detect the clients that have been disconnected from the server pinging needs to be implemented over HTTP as well. This enables a 'clean up' of resources used by clients that have been disconnected or timed out. To implement this feature, the client library must continuously ping the server at predefined intervals. The server can be configured to perform this action. Pinging is essential for the HTTP support of FioranoMQ and is set as the default feature in the case of HTTP connections. Due to attributes of HTTP, there are limitations in detecting control-C (or terminating the application abruptly) related issues from the client. It is expected that the JMS client application programmers perform an explicit connection.close() operation to enable the server to detect client disconnections. Not doing an explicit close can result in inconsistent message reception and delivery.