время ожидания подключения при подключении к удаленной базе данных postgresql - PullRequest
0 голосов
/ 22 июня 2011

Я столкнулся с этой проблемой: у меня есть программа, которая зацикливает следующее:

  • подключиться к базе данных postgresql
  • печать номера счета
  • закрыть соединение

код следующий:

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++);
        }
    }

Я подключаюсь к psql db через jdbc, что-то вроде этого:

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 до истечения времени ожидания. Любая помощь?

1 Ответ

1 голос
/ 22 июня 2011

Относится к хосту и / или порту сообщения об исключении, на котором работает postgres, не равно хосту или / и порту, который вы указали для адреса подключения, проверьте его, и вы обнаружите проблему.


И да, ваш сервер недоступен, некоторые брандмауэры и т. Д., Проверьте это тоже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...