Обсуждение: connection timeout?

Поиск
Список
Период
Сортировка

connection timeout?

От
Antonini Roberto
Дата:

Hi all,

I executed following test in a classical scenario involving an application on a PC connected to a DB Server where postgres is running:

  • I disconnected network cable between PC and DB server
  • I started the application on PC

 

The application remains blocked on

            DriverManager::getConnection

method invocation.

Is it a timeout issue?

If so, how can I set this timeout?

 

Thanks in advance,

Roberto.

 

 

Gruppo Telecom Italia - Direzione e coordinamento di Telecom Italia S.p.A.

====================================================================
CONFIDENTIALITY NOTICE
This message and its attachments are addressed solely to the persons
above and may contain confidential information. If you have received
the message in error, be informed that any use of the content hereof
is prohibited. Please return it immediately to the sender and delete
the message. Should you have any questions, please send an e_mail to
MailAdmin@tilab.com. Thank you
====================================================================

Re: connection timeout?

От
Oliver Jowett
Дата:
Antonini Roberto wrote:

>     * I disconnected network cable between PC and DB server

> The application remains blocked on
>             DriverManager::getConnection

I'd expect this to eventually time out, but it might take several
minutes. It depends on your TCP stack.

> Is it a timeout issue?

Yes.

> If so, how can I set this timeout?

Currently you can't, mostly because it hasn't been a big enough issue
for anyone to step forward and implement.

When implemented I'd expect it would be set via a URL parameter.

The Java socket primitives makes it quite hard to do timeouts on connect
anyway. Either you have to use NIO (doesn't exist until 1.4, would be an
invasive change) or Socket.connect() (doesn't exist until 1.4). So
you're out of luck under 1.3, and the driver will have to do conditional
compilation to use 1.4-specific code as it needs to build under 1.3.

-O