On Fri, 17 Oct 2003 11:54:56 -0400, Justis Peters <[EMAIL PROTECTED]> wrote:
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:
yes this will be possible, but can you describe what's the advantage of this solution?
And how can we reduce validation query calls? Or do you see an alternative way to check the connection?
regards, Armin
========================= 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]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
