Re: [PATCH] Support for ping method.
От | Kris Jurka |
---|---|
Тема | Re: [PATCH] Support for ping method. |
Дата | |
Msg-id | Pine.BSO.4.63.0604170115380.17202@leary2.csoft.net обсуждение исходный текст |
Ответ на | [PATCH] Support for ping method. (Michael Barker <mike@middlesoft.co.uk>) |
Ответы |
Re: [PATCH] Support for ping method.
Re: [PATCH] Support for ping method. |
Список | pgsql-jdbc |
On Thu, 6 Apr 2006, Michael Barker wrote: > Attached is a patch that adds support for a ping method on the > AbstractJdbc2Connection. This is useful for JBoss (and other > containers) where the container needs to check if the connection is > alive before passing it to the caller. Currently JBoss does a "SELECT > 1", but using the new ping method there is a boost in performance. > Opening and closing 1000 connections from a datasource: > There are a number of problems with this patch. In no particular order... 1) publicly accessible postgresql specific functions should be exported in the org.postgresql.PGConnection interface or similar. Client code should not attempt to cast a connection to any other interface. 2) The ping method in QueryExecutorImpl must be synchronized to avoid interfering with other threads use of the backend connection. 3) The error handling is non-existent. It swallows all kinds of errors and leaves the protocol stream in an unknown state leaving the caller responsible for cleanup. At worst it should close the connection and throw some sort of exception. 4) It is possible that the first response from a Sync message on a valid connection will not be a ReadyForQuery message. Consider the case of asynchronous Notify messages appearing. These must be processed by the driver as it waits for the ReadyForQuery message to arrive. 5) It lacks V2 protocol support. While V2 does not have a Sync message, it does have something similar. By sending a query of the empty string you will receive an EmptyQuery message immediately that should not require any significant backend processing. Kris Jurka
В списке pgsql-jdbc по дате отправления: