Hi Armin, Could we handle this by defining an interface and allowing users to specify their own tester class? Here is what I am picturing:
========================= ConnectionValidator.java ========================= package org.apache.ojb.broker.accesslayer; public interface ConnectionValidator { public boolean isValid(java.sql.Connection conn); } ========================= repository_database.xml ========================= <jdbc-connection-descriptor jcd-alias="default" driver="org.postgresql.Driver" etc... > <connection-pool maxActive="51" testOnBorrow="true" testOnReturn="false" removeAbandoned="true"> <connection-validator className="com.mydomain.ojbutils.PostgresConnectionValidator"> <attribute attribute-name="foo" attribute-value="testvalue1" /> <attribute attribute-name="bar" attribute-value="testvalue2" /> </connection-validator> </connection-pool> <sequence-manager className="org.apache.ojb.broker.util.sequence.SequenceManagerNextValImpl"> <attribute attribute-name="autoNaming" attribute-value="false" /> </sequence-manager> </jdbc-connection-descriptor> ==================================================== Thoughts? Sincerely yours, Justis Peters Oculan Corp. [EMAIL PROTECTED] Armin Waibel [EMAIL PROTECTED] wrote: > Hi Andrew, > > you can use the 'validationQuery' attribute of connection-pool > element to specify a validation query. This query will be executed > each time before a connection was delivered by the pool. > > Any proposals to make this more sophisticated are > welcome. > > regards, > Armin > > On Fri, 17 Oct 2003 11:20:02 -0400, Clute, Andrew > <[EMAIL PROTECTED]> wrote: > > >I apologized in advance for the increase in mail traffic today. I have > >checked the archives for an answer to this, to no avail. > > > >I am seeing, as expected, if our Database has been restarted that any db > >connections in the pool as becoming invalid. I understand how this is > >happening -- the connection doesn't realize the socket connection has > >been > >reset, and so it fails to persist any data. I have simulated the > >situation, > >and I can see the connection when it is retrieved from the pool is still > >marked as active. > > > >I am using ConnectionFactoryPooledImpl. What seems odd to me, is it never > >self-corrects. It looks to me like when the connection failed, it is > >still > >in the pool, and I never get a valid connection. > > > >OJB is being used by EJB's sitting in Jboss. I am not using OJB as a > >deployed EJB, but calling directly. I am also not using a DataSource > >inside > >of Jboss, but instead the connection pool from OJB. > > > >It seems to me using the pooled connections, that when the database is > >restarted, then I have to take down my Jboss server and restart it to > >refresh the pool. Am I missing something here? Now, I could use no pool, > >and > >then the problem never arises. Would using the DataSource from jBoss and > >ConnectionFactoryManagedImpl make it better. > > > >What should me expectations be for db connections when the database has > >been > >restarted? (Bigger issue here is our SQL Server cluster -- all the > >connections become invalid when the server fails over to a different > >server). > > > >-Andrew > > > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]