0

我正在使用 Tomcat JDBC 连接池(这是 Spring Boot 默认设置)来管理与我的 PostgreSQL 集群的连接,我只是注意到只有在进行第一个查询时才会创建该池。我的问题是双重的:

  1. 是否有任何优雅的方法可以强制急切地创建池(即在启动应用程序时)?我相信在启动时执行一个简单的查询就可以了,但如果可以的话,我更喜欢更优雅的方式。
  2. 在我的一项测试中,我曾经iptables丢弃所有指向 PostgreSQL 集群的流量。这导致第一个查询在消息失败之前持续了大约 127 秒Unable to create initial connections of pool。127秒太多了。有什么办法可以为超时设置一个较低的值吗?我已经阅读了文档,但无法得出太多结论。
4

1 回答 1

-1

好吧,对于你的第一个问题,我只能想到两种方法:

对于你的第二个问题;如果您为第一个问题选择第二种方法,它将自动解决。但是你总是可以设置

spring.datasouce.max-等待

范围。在 Tomcat Pool 文档中它说

(int) 池将等待(当没有可用连接时)在抛出异常之前返回连接的最大毫秒数。默认值为 30000(30 秒)

但在你的情况下,它是 127 秒,这很奇怪..

于 2015-03-10T19:11:05.360 回答