We have a system whereby we make a RESTful callback to a client's remote server. We are seeing timeouts waiting for a response when a request has apparently been sent. Some constraints:
- it is difficult to get hold of TCP dump logs outside of the server, elsewhere on the local network.
- We do not have access to the client's system.
We think that, when traffic is low, the remote proxy is killing idle connections without telling us. I have added a reaper thread for idle connections. This should have been in there already and adding it is an improvement to the system. However, I still would like to simulate the error condition on our local network and that has proven a little tricky. Our test server, a servlet container, is well-behaved in that it is correctly closing TCP connections.
How should I go about creating a setup whereby:
- idle connections are dropped without further TCP traffic
- further traffic relating to those connections is ignored?