0 Replies Latest reply on Jun 19, 2003 2:13 PM by trader

    Living peacefully with firewalls

    trader

      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
      GCEnabled=true
      # same for idle timeout
      IdleTimeoutEnabled=true
      # assume an error means a timed-out connection,
      # thus errors invalidate connections
      InvalidateOnError=false
      # five-minute GC interval
      GCIntervalMillis=300000
      # dunno how this is different from GCIntervalMillis
      GCMinIdleMillis=300000
      # timeout after 50 minutes
      IdleTimeoutMillis=3000000
      # no clue on this one
      MaxIdleTimeoutPercent=1.0

      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.