prepareCall hangs

Поиск
Список
Период
Сортировка
От Akhil Srinivasan
Тема prepareCall hangs
Дата
Msg-id ad76b9f205062009157b83571e@mail.gmail.com
обсуждение исходный текст
Ответы Re: prepareCall hangs  (Oliver Jowett <oliver@opencloud.com>)
Список pgsql-jdbc
Hi
I have a an application that uses a lot of stored functions, some of them which create temporary tables and refcursors that point to the tables. Something that comes up occasionally are errors like

the jdbc code looks like      
        Connection con = poolingDataSource.getConnection();
        con.setAutoCommit(false);
        CallableStatement proc = con.prepareCall("{ ? = call \"insAccount\" ( ? ) }");

        proc.registerOutParameter(1, Types.OTHER);
        proc.setString(2,userName);
        this.registerCallableStatementForCancel(proc);
        logger.debug("registerCallableStatementForCancel(): exit"+userName);
/* another thread will call statement.cancel() if timeout exceeded*/
        proc.execute();
        this.unregisterCallableStatementForCancel(proc);
        logger.debug("unregisterCallableStatementForCancel(): exit"+userName);
        ResultSet rset = (ResultSet)proc.getObject(1);

Occasionally the prepareCall just hangs, as logging statements show that it does not enter the execute(). The called procedures may or may not user temporary tables. But the functions hang just the same.
Is there anyway i can avoid the hang condition or the next best thing some king of time out mechanism. I have one setup in the event that execute hangs. But i cannot think of how to cancel a prepareCall().

The application has a commons-dbcp maintaining a connection pool to the database server. The jdbc driver used is the jdbc3. The database version is 7.4.5. It has been deployed on a Debian Linux system with kernel version 2.6.8.

Thanks
Akhil Srinivasan

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Akhil Srinivasan
Дата:
Сообщение: Re: Problems with temporary tables created in callable functions
Следующее
От: David Gagnon
Дата:
Сообщение: Re: Problems with temporary tables created in callable functions