hi, just thought I might add a few comments from the deployers point of 
view. we've had problems with db timeouts a number of times with both JOnAS 
and Orion in production systems (e.g. stale db-connections due to firewall 
timeouts). to my knowlegde (and it has been discussed in many mailing lists 
including JOnAS, castor etc.) there is no reliable way of checking the 
validity of a JDBC connection, partly due to implementation bugs in most 
popular drivers (even the ones from the big players). a very conservative 
but in most practical setups effective thing is to be able to specify 
something like an inactivity-timeout for a pooled resource. a database 
connection that's in the pool in ready-state for more than n-seconds is 
closed and reopened (maybe laziliy). with that we were able to tweak the 
applications in a way that eliminated 99% our problems with stale db 
connections without a noticable performance hit. disregard this posting if 
minerva already has this feature. if not, it's very easy to implement, yet 
effective.

just my 2c,

robert


At 08:46 14.09.00 , you wrote:
>         First of all, if you're not using Minerva, please do.
>         Second, Minerva doesn't test connections before it hands them out.
>If we can think of a good way to test a connection, I'd certainly be
>happy to add that.  I mean, you could create a statement and close it
>immediately, but there's no way of knowing whether that actually goes
>through to the database or just creates a new data structure on the client
>side.  You could execute an invalid SQL statement and catch the exception,
>but that seems kind of heavyweight.  There's no "ping" in JDBC!
>         There currently is a setting for "InvalidateOnError" that you can
>set to true and it will drop a connection from the pool every time there's
>a SQLException on it (you can change this in jboss.jcml).  But that still
>doesn't catch anything util there's a problem.  If you can think of a way
>to validate a connection before it leaves the pool, I'm all ears.
>         Oh, and the timeout varies by DB - Oracle connections don't seem
>to timeout (or at least, the timeout is months or longer).  You may be
>able to set this in your DBMS or its JDBC driver, but it may be out of
>your hands.
>
>Aaron

(-) Robert Kr�ger
(-) SIGNAL 7 Gesellschaft f�r Informationstechnologie mbH
(-) Br�der-Knau�-Str. 79 - 64285 Darmstadt,
(-) Tel: 06151 665401, Fax: 06151 665373
(-) [EMAIL PROTECTED], www.signal7.de



--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Problems?:           [EMAIL PROTECTED]

Reply via email to