通过Spring Boot连接到AWS Aurora Serverless

时间:2020-10-22 14:55:23

标签: amazon-web-services spring-boot hikaricp amazon-rds-aurora

尝试将Spring Boot容器连接到Aurora Serverless数据库。这是有效的方法:

  • 将容器连接到预配置的Aurora数据库
  • 通过psql从我的计算机连接到无服务器数据库

但是,当我为无服务器数据库配置数据库连接参数并启动容器时,出现以下错误:

    org.postgresql.util.PSQLException: The connection attempt failed.
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:315) ~[postgresql-42.2.16.jar!/:42.2.16]
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:51) ~[postgresql-42.2.16.jar!/:42.2.16]
    at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:225) ~[postgresql-42.2.16.jar!/:42.2.16]
    at org.postgresql.Driver.makeConnection(Driver.java:465) ~[postgresql-42.2.16.jar!/:42.2.16]
    at org.postgresql.Driver.connect(Driver.java:264) ~[postgresql-42.2.16.jar!/:42.2.16]
    at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-3.4.5.jar!/:na]
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358) ~[HikariCP-3.4.5.jar!/:na]
    ...
    Caused by: java.io.EOFException: null
    at org.postgresql.core.PGStream.receiveChar(PGStream.java:443) ~[postgresql-42.2.16.jar!/:42.2.16]
    at org.postgresql.core.v3.ConnectionFactoryImpl.enableGSSEncrypted(ConnectionFactoryImpl.java:436) ~[postgresql-42.2.16.jar!/:42.2.16]
    at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:144) ~[postgresql-42.2.16.jar!/:42.2.16]
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:213) ~[postgresql-42.2.16.jar!/:42.2.16]
    ... 37 common frames omitted

这是我尝试过的内容(每this post):

  • 调整Hikari连接参数(似乎什么也没做):
    spring.datasource.hikari.minimum-idle=0
    spring.datasource.hikari.maximum-pool-size=10
    spring.datasource.hikari.connection-timeout=60000
    spring.datasource.hikari.max-lifetime=90000
    spring.datasource.hikari.idle-timeout=90000
  • 惰性bean初始化(似乎可以减少连接超时之前的时间):
    spring.main.lazy-initialization=true

我的计算机是对等VPC中的WorkSpace,因此VPC不应成为问题。另外,当我在VPC内的ECS集群中启动容器时,我遇到了同样的问题。任何帮助将不胜感激-我已经研究了数周。

1 个答案:

答案 0 :(得分:2)

我成功地将<div class="box" id="tobaking"> <img src="https://media1.giphy.com/media/13vSD7ajIJwgb6/source.gif"> <span class="textspan">Straight to Baking!</span></div> 添加到了jdbc网址中。

例如:?gssEncMode=disable