Mark Thomas wrote:
On 27/03/2014 03:08, Matthew Turany wrote:
Is it possible to configure either apache or tomcat to send a packet every
x number of seconds so that at the client end the gateway thinks the
session is still active and will keep the connection open, or is this
something best put into the actual web app?
http://tomcat.apache.org/connectors-doc/reference/workers.html
socket_keepalive
You'll need to configure the OS to send the packets frequently enough.
That's a bit the hammer, isn't it ? Under Linux at least, this seems to be a global kernel
setting, so it applies to all connections.
Alternatively, change the application design:
- One request to trigger generation of the report
- N requests to retrieve report which returns either "still processing"
(maybe with an ETA) or "here it is".
Apart from any gateways/proxies/firewalls, there is also a browser timeout : if the
browser sends a request, and then does not get a response for 4-5 minutes, eventually it
will time-out, close the connection, and display "the server is not responding.. try again
later".
Another possibility is to have the application periodically send some kind of "partial
response" to the browser (e.g., a line of ".."), to be replaced by the real response when
it's ready. It's a 20-year old trick, and it is a bit tricky to get right, but it still
works. Of course it means that the application has to be able to do that, and is not
itself waiting on a call to a slow external resource.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org