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: