java - Cloud SQL 与 App Engine 之间的连接超时

标签 java postgresql google-app-engine google-cloud-sql

我的 Java Web 应用程序可以成功连接到托管在 Google Cloud sql 上的 Postgresql 数据库,并已部署到 Google App Engine。现在,每次它尝试访问同一个数据库时,我都会收到超时错误。我需要配置一些东西才能让他们正常通信吗? Web 应用程序和数据库都位于同一个项目中,所以我只是假设它们被允许相互通信

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

最佳答案

此问题可能是由以下原因引起的:

如果服务器暂时出现问题

所有准备好的语句和结果集,检查 max_connections。

NAT 的 NAT 连接表中的空闲连接超时

防火墙正在阻止来自服务器的响应。

另一个原因是主机名不正确。

您确定您的数据库正在端口 8080 上运行吗?

这也可能意味着服务器(或沿途的某些路由器)存在(临时)问题。您可以尝试跟踪路由来确定这是否属实。

检查: con=DriverManager.getConnection("jdbc:postgresql://19x.16x.1x.13x/MxxGS","用户名","密码");

确认您的 postgres jdbc(jar)。

尝试异常或数据库的池连接。

关于java - Cloud SQL 与 App Engine 之间的连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56730251/

相关文章:

java - Rxjava 为什么 Schedulers.trampoline() 命名为 'trampoline' ?

python - 应用引擎 (Python) : can I know programmatically how much memory is used by the current instance?

java - 为什么我的 android 应用程序读取 åäö 而我的 java 应用程序却没有(从 GAE 获取数据时)?

postgresql - postgres 数据库的理想最大连接数是多少?

postgresql - 在 PostgreSQL 中采样

unit-testing - Google App Engine 数据存储 - 测试查询失败

java - 带点的属性名称 Jackson JSON 解析

java - Spring MVC 中的 "No converter found for return value of type: class java.lang.Integer"

java - 您可以在运行时更改注释消息吗?

node.js - PostgreSQL 9.1 中的 UPDATE 似乎误用了占位符类型