1

I have a Spring web application running in Oracle Application Server, which is based on Apache. I'm afraid I don't know which component this question might apply to.

My question is - will threads from the connection pool ever be forcibly killed? On rare occasions, a page request can take much longer than usual. Can a page request ever take so long that Apache will simply stop the thread without notice?

If so, what settings define the timeout?

To give this some context, I'm locking resources for the duration of the page generation, and I want to ensure that all locks are released. I'm not concerned about HTTP timeouts - just that locks are released.

James Beninger
  • 2,168
  • 1
  • 17
  • 26

1 Answers1

1

From my understanding, apache httpd server do have request timeout and the browser do have request timeout. Proxies do have timeout and will kill too long HTTP requests. DB Pools can be configured to have also request timeout but it should not by default (depend of configuration). Nobody will kill the thread through, it is just they will stop waiting for the response.

For the browser or any intermediary proxy, you can't change it excepted if you know exactly your final environement, and can control their configuration.

For apache httpd server, just go see the apache documentation. For your DB pool, go check your pool configuration.

Nicolas Bousquet
  • 3,838
  • 1
  • 14
  • 18
  • Thanks for the answer, Nicolas. The core of my question also seems to have been answered in [this thread](http://stackoverflow.com/questions/2300227/are-java-app-servers-able-to-destroy-threads-if-yes-how). – James Beninger May 06 '11 at 18:03
  • Perhaps this will get you right to where you want to be: http://httpd.apache.org/docs/current/mod/core.html#keepalivetimeout The default is 5s. This may also be relevant: http://httpd.apache.org/docs/current/mod/core.html#timeout and its default is 60s. – Josiah Oct 03 '13 at 13:24