You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Stéphane RIFF <st...@cerene.fr> on 2005/03/02 16:33:49 UTC
[DBCP] BindException
Hello
I've just implement DBCP pooling in a stand alone application on postgresql.
This work quite well but stiil have problems :
Sometimes i got null connection from the datasource.
My datasource is setup like this :
DriverManager.setLogWriter(new PrintWriter(System.out));
try {
Class.forName(dbd);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
GenericObjectPool connectionPool = new GenericObjectPool(null);
connectionPool.setMaxActive(10);
connectionPool.setMaxIdle(0);
ConnectionFactory connectionFactory = new
DriverManagerConnectionFactory(dbc,dbu,dbp);
StackKeyedObjectPoolFactory stmPoolFactory = new
StackKeyedObjectPoolFactory();
PoolableConnectionFactory poolableConnectionFactory = new
PoolableConnectionFactory(connectionFactory,connectionPool,stmPoolFactory,null,false,false);
PoolingDataSource dataSource = new PoolingDataSource(connectionPool);
datasource = dataSource ;
My pool is in a singleton class, for getting a connection i did this
ConnectionPool.getRef().getConnection() wich call datasource.getConnection
Here is the Stack trace, i got when
doing DriverManager.setLogWriter() :
DriverManager.getConnection("jdbc:postgresql://200.200.200.34:5432/geosiaradev")
trying
driver[className=org.postgresql.Driver,org.postgresql.Driver@11ddcde]
org.postgresql.util.PSQLException
at
org.postgresql.jdbc1.AbstractJdbc1Connection.openConnection(AbstractJdbc1Connection.java:208)
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:101)
at
fr.cerene.geosiara.gprs.receiver.SQLoader.saveTrame2(SQLoader.java:210)
at
fr.cerene.geosiara.gprs.receiver.SQLoader$1.run(SQLoader.java:317)
at java.lang.Thread.run(Thread.java:534)
getConnection failed: 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:101)
at
fr.cerene.geosiara.gprs.receiver.SQLoader.saveTrame2(SQLoader.java:210)
at
fr.cerene.geosiara.gprs.receiver.SQLoader$1.run(SQLoader.java:317)
at java.lang.Thread.run(Thread.java:534)
End of Stack Trace
java.lang.NullPointerException
at
fr.cerene.geosiara.gprs.receiver.SQLoader.saveTrame2(SQLoader.java:227)
at
fr.cerene.geosiara.gprs.receiver.SQLoader$1.run(SQLoader.java:317)
at java.lang.Thread.run(Thread.java:534)
So i have two question :
First does my pool configuration is good ?
Second, does somebody already saw those exception and waht is the
workaround ??
Thanks
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 266.5.7 - Release Date: 01/03/2005
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org
Re: [DBCP] BindException
Posted by Dirk Verbeeck <di...@pandora.be>.
This is clearly a postgresql (driver) problem.
I don't use postgresql myself ant the best thing I could find is:
http://archives.postgresql.org/pgsql-jdbc/2003-07/msg00058.php
-- Dirk
> getConnection failed: 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)
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org