We are facing an issue where a connection to a server is made, the request is sent, the server sends the response and the client never sees the request. Ultimately we get a socket timeout because httpclient eventually gives up on that request.
The big problem we have is that this only happens about once every couple of million requests over a 12 hour period (and not consistently). What we would like to do is increase the connection timeout to something ridiculously long and put some sort of a watcher thread on the client side that can sort of do what the IdleConnectionTimeoutThread is doing. But instead of just calling the connectionManager.closeIdleConnections(connectionTimeout); we would like to interrogate each open connection to see how long it has been active. If it has been active for longer than our idleconnection timeout (currently 20 seconds) then we can perform some action.. So lets say that if it was active for 1 minute then we would be able to know the issue is happening and do something (like take thread dumps). Without doing that, we only know about the problem *after* it has happened and the socket timeout has already been thrown.. That does me no good.. I want to see inside of the VM *as* its happening. Any thoughts on how to do this? -k This transmission may contain information that is privileged, confidential, legally privileged, and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. Although this transmission and any attachments are believed to be free of any virus or other defect that might affect any computer system into which it is received and opened, it is the responsibility of the recipient to ensure that it is virus free and no responsibility is accepted by JPMorgan Chase & Co., its subsidiaries and affiliates, as applicable, for any loss or damage arising in any way from its use. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. Thank you.
