我遇到了这个问题:我有一个循环以下程序:
代码如下:
int i = 0;
while(true){
IConnection conn = ((ConnectionHelper)HelperFactory.getInstance().getHelper("ConnectionHelper")).getConnection("psql");
if(conn != null && conn.connect()){
conn.close();
System.out.println(i++);
}
}
我通过jdbc连接到psql db,如下所示:
DriverManager.getConnection("jdbc:postgresql://" + host + ":5432/" + database,
user, password);
如果conn.connect()可以成功连接到数据库,则返回true (经过测试,我可以从中检索数据)
但我得到以下结果:
0 1 2 。 。 。 3919 3920 3921 3922
org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:136)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:125)
at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:22)
at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:30)
at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:24)
at org.postgresql.Driver.makeConnection(Driver.java:393)
at org.postgresql.Driver.connect(Driver.java:267)
在最后一个循环中,程序在尝试连接到psql直到超时时停留。有什么帮助吗?
答案 0 :(得分:1)
与运行postgres的异常消息主机或/和端口相关的不等于您放入连接地址的主机或/和端口,检查它并发现问题。
是的,您的服务器无法访问,某些火器等等,请检查它。