Hi Markus,
thanks for your answer.
> Currently, the backend cannot keep the current transaction if the
> connection breaks, so it will be rolled back.
That's ok, I just want the JDBC driver to reconnect as soon as the
connection is available again.
> At least JBoss, you can use the following approach: In the Datasource
> definition, put the following:
>
> <datasources>
> <no-tx-datasource>
> <jndi-name>boo</jndi-name>
> <connection-url>jdbc:postgresql://localhost:5432/bar</connection-url>
> [ ... other attributes ... ]
> <new-connection-sql>SELECT version()</new-connection-sql>
> <check-valid-connection-sql>SELECT
> version()</check-valid-connection-sql>
> </no-tx-datasource>
> </datasources>
>
> This validates the connection before it is handed out on the
> application, and throws away invalid connections. Be aware that the SQL
> is case sensitive, we had a problem with earlier versions of OpenMDX/CRX
> that had upper case letters in the tags so they were ignored by jboss.
I'm using Resin, not JBoss. The above configuration means a lot of overhead,
just to verify that a connection is still valid. Is this the recommended way
in a production environment?
I think this means that the PostgreSQL JDBC driver doesn't support automatic
reconnection. And I don't see this feature on the Roadmap. Is it unusual to
use PostgreSQL in a multi server environment?
Without this feature I don't think PostgreSQL is the right choice for me and
I keep using SAPDB. I could implement it in my server application, but
within the servlet engine it is almost impossible to do outside the JDBC
driver.
Thanks,
Markus