Тайм-аут в связи между Cloud SQL и App Engine - PullRequest
0 голосов
/ 24 июня 2019

Мое веб-приложение java, которое может успешно подключаться к моей базе данных Postgresql, размещенной в облаке Google sql, было развернуто в Google App Engine.Теперь, каждый раз, когда он пытается получить доступ к той же базе данных, я получаю сообщение об ошибке.Нужно ли что-то настраивать, чтобы они правильно общались?И веб-приложение, и база данных находятся в одном проекте, поэтому я предположил, что им разрешено общаться друг с другом

Caused by: org.postgresql.util.PSQLException: The connection attempt failed.
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:292)
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
    at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195)
    at org.postgresql.Driver.makeConnection(Driver.java:454)
    at org.postgresql.Driver.connect(Driver.java:256)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at weightwatchers2019.UsuarioDAO.autenticar(UsuarioDAO.java:79)
    ... 33 more
Caused by: java.net.SocketTimeoutException: connect timed out
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at org.postgresql.core.PGStream.<init>(PGStream.java:70)
    at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:91)
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192)
    ... 40 more

1 Ответ

0 голосов
/ 25 июня 2019

Эта проблема может быть вызвана:

Если есть временная проблема с сервером

Все подготовленные операторы и наборы результатов, проверьте max_connections.

Время ожидания простаивающих соединений из таблиц соединений NAT в NAT

Брандмауэр блокирует ответ от сервера.

Другая причина - неправильное имя хоста.

Вы уверены, что ваша база данных работает на порту 8080.

Это также может означать (временную) проблему с сервером (или каким-либо маршрутизатором в процессе работы).Вы можете попробовать трассировку, чтобы определить, верно ли это.

Проверьте: con = DriverManager.getConnection ("jdbc: postgresql: //19x.16x.1x.13x/MxxGS", "username","пароль");

Подтвердите свой jdbc (jar) для postgres.

Попробуйте исключения или соединение с пулом для БД.

...