开发者社区> 问答> 正文

连接池大小与postgres r2dbc-pool?

我无法使用spring-webflux和r2dbc(使用r2dbc-pool驱动程序)打开10个以上的连接。我的配置看起来像:

@Configuration public class PostgresConfig extends AbstractR2dbcConfiguration {

@Override @Bean public ConnectionFactory connectionFactory() { ConnectionFactory connectionFactory = ConnectionFactories.get(ConnectionFactoryOptions.builder() .option(DRIVER, "pool") .option(PROTOCOL, "postgresql") .option(HOST, host) .option(USER, user) .option(PASSWORD, password) .option(DATABASE, database) .build()); ConnectionPoolConfiguration configuration = ConnectionPoolConfiguration.builder(connectionFactory) .maxIdleTime(Duration.ofMinutes(30)) .initialSize(initialSize) .maxSize(maxSize) .maxCreateConnectionTime(Duration.ofSeconds(1)) .build(); return new ConnectionPool(configuration); } } 当我指定超过10个连接时,我得到的错误如下:

org.springframework.dao.DataAccessResourceFailureException: Failed to obtain R2DBC Connection; nested exception is java.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 1000ms in 'lift' (and no fallback has been configured) at org.springframework.data.r2dbc.connectionfactory.ConnectionFactoryUtils .lambda$getConnection$0(ConnectionFactoryUtils.java:71) 此外,连接数保持与初始大小相同。不会创建新连接。

展开
收起
被纵养的懒猫 2019-09-17 17:32:07 1800 0
2 条回答
写回答
取消 提交回答
  • 最近开始用R2dbc,一开始我就将初始数和最大活跃数设成不同,然后看了R2dbcProperties.Pool的默认值,初始数和最大活跃数相等,想想就觉得会有问题。 Spring data r2dbc还有个坑,Criteria.from(List criteria),使用这种方式创建的条件查询会抛异常,然后是自行实现一个方法使用。

    2020-07-15 15:12:08
    赞同 展开评论 打赏
  • GTM的备节点,在pgxc,pgxl中,GTM控制所有的全局事务分配,如果出现问题,就会导致整个集群不可用,为了增加可用性,增加该备用节点。当GTM出现问题时,GTM Standby可以升级为GTM,保证集群正常工作。
    

    “答案来源于网络,供您参考” 希望以上信息可以帮到您!

    2019-09-26 15:12:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载