Re: [SPAM] - Re: Connection pool problem - Found word(s) list - Mailing list pgsql-jdbc

From Stéphane RIFF
Subject Re: [SPAM] - Re: Connection pool problem - Found word(s) list
Date
Msg-id 4224701D.9080002@cerene.fr
Whole thread Raw
In response to Re: Connection pool problem  (Dave Cramer <pg@fastcrypt.com>)
List pgsql-jdbc
Yes sorry that's what i want to say "finally" blocks
and that's what i did.

For the exception i don"t have any more idea yet
Dave Cramer wrote:

> Stephane,
>
> You didn't read his email carefully enough. Close your connections in
> a FINALLY block. That way they are guaranteed to be closed
>
> as far as your exception below, that is very strange. If you are out
> of connections on the server then you should get that error
> not a bind exception ???
>
> Dave
>
>
> Stéphane RIFF wrote:
>
>> You're right i forgot to call close() function in the catch block
>> Thanks
>>
>> But know i sometimes get null connections from the datasource with
>> exception like this :
>> 2005-03-01 12:23:44,156 : [WARN] ConnectionPool -
>> org.postgresql.util.PSQLException: The connection attempt failed
>> because Exception: java.net.BindException: Address already in use:
>> connect
>> Stack Trace:
>>
>> java.net.BindException: Address already in use: connect
>>    at java.net.PlainSocketImpl.socketConnect(Native Method)
>>    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
>>    at
>> java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
>>    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
>>    at java.net.Socket.connect(Socket.java:452)
>>    at java.net.Socket.connect(Socket.java:402)
>>    at java.net.Socket.<init>(Socket.java:309)
>>    at java.net.Socket.<init>(Socket.java:124)
>>    at org.postgresql.core.PGStream.<init>(PGStream.java:47)
>>    at
>> org.postgresql.jdbc1.AbstractJdbc1Connection.openConnection(AbstractJdbc1Connection.java:197)
>>
>>    at org.postgresql.Driver.connect(Driver.java:139)
>>    at java.sql.DriverManager.getConnection(DriverManager.java:512)
>>    at java.sql.DriverManager.getConnection(DriverManager.java:171)
>>    at
>> org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:48)
>>
>>    at
>> org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
>>
>>    at
>> org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:771)
>>
>>    at
>> org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:95)
>>
>>    at
>> fr.cerene.geosiara.gprs.receiver.ConnectionPool.getConnection(ConnectionPool.java:97)
>>
>>    at
>> fr.cerene.geosiara.gprs.receiver.SQLoader.saveTrame(SQLoader.java:122)
>>    at fr.cerene.geosiara.gprs.receiver.SQLoader$1.run(SQLoader.java:219)
>>    at java.lang.Thread.run(Thread.java:534)
>> End of Stack Trace
>>
>> 2005-03-01 12:23:44,156 : [WARN] SQLoader -
>> java.lang.NullPointerException
>>
>> I saw on the web that this can happened when the max number of
>> connection
>> is reach but in my case postgresql is configure with 100 connections, in
>> the process list i had  ~50 connections.
>>
>> Don't know what i can do...
>>
>> Oliver Jowett wrote:
>>
>>> Stéphane RIFF wrote:
>>>
>>>> I've create a connection pool with dbcp end another with
>>>> Jdbc3PoolingDatasource,
>>>> it seems to work well but :
>>>> My pool is a eight connections pool, the problem is when i get some
>>>> database exception (for example
>>>> "constraint violation", "duplicate key on unique index"...) the
>>>> connection didn't released to the pool.
>>>> After eight exception my application wait for a connection from the
>>>> pool which nerver give one because
>>>> of the PSQLException thrown.
>>>
>>>
>>>
>>>
>>> Perhaps your code does not release the connection to the pool
>>> correctly when handling the exception?
>>>
>>> The usual way to deal with this is to put connection releasing in a
>>> finally block, so it's sure to be run however you exit the try{} block.
>>>
>>> If it's not that, I'd need to see your code to debug this further.
>>>
>>> -O
>>>
>>>
>>
>>
>>
>



--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 266.5.2 - Release Date: 28/02/2005


pgsql-jdbc by date:

Previous
From: Markus Schaber
Date:
Subject: Re: impossible to update rows specifying columns with NULL
Next
From: Guillaume Cottenceau
Date:
Subject: Re: impossible to update rows specifying columns with NULL