我无法使用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) 此外,连接数保持与初始大小相同。不会创建新连接。