Re: No automatic reconnect after network error
От | Guy Rouillier |
---|---|
Тема | Re: No automatic reconnect after network error |
Дата | |
Msg-id | CC1CF380F4D70844B01D45982E671B230137A877@mtxexch01.add0.masergy.com обсуждение исходный текст |
Ответ на | No automatic reconnect after network error ("Markus Riehl" <mriehl@skat.com>) |
Список | pgsql-jdbc |
Markus Riehl wrote: > 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? Most JDBC drivers that I'm aware of don't do automatic reconnections. We primarily use Oracle at work (sigh - I'm trying to change that - long, slow effort) and it does not automatically reconnect. I don't use Resin, but I just checked the Resin site here http://www.caucho.com/resin-3.0/db/config.xtp#DataSource and it has the same kind of connection validation that JBoss does. See the section titled "Reliability Configuration." With that, Resin's DBPool will get you a valid connection when they become available again. > > 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. That does not appear to be the case. -- Guy Rouillier
В списке pgsql-jdbc по дате отправления: