Hi, I have a customer that insists on having a firewall between the app server and their Oracle database. The firewall will timeout idle connections after one hour, causing DB connections in the pool to fail if nothing is done.
This is for JBoss 2.4.x.
I've seen similar posts where the advice was to set idletimeout and GC interval, and when we did that, things improved dramatically, but not without a few lingering problems.
With a firewall timeout of 60 minutes, here's what I *think* some of the datasource parameters should be, and why:
# enable GC so timed-out connections go away
# same for idle timeout
# assume an error means a timed-out connection,
# thus errors invalidate connections
# five-minute GC interval
# dunno how this is different from GCIntervalMillis
# timeout after 50 minutes
# no clue on this one
So, my questions are.....
- Is five minutes a reasonable value for GC interval? It still seems there is a window of up to five minutes that a timed-out connection can stay in the pool.
- Is my assumption about turning on InvalidateOnError correct?
- How should the IdleTimeoutMillis value correspond to the firewall timeout value?
- What should I do with GCMinIdleMillis and MaxIdleTimoutPercent? What do they mean?
Advance thanks for any help.