spring:jdbctemplate with completablefuture runasync generate此连接已关闭

3qpi33ja  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(268)

我正在用这个方法运行一个查询

class QueryExecutor {
  private List<T> executeOn(String tableName) {
    ResultSetExtractor<List<Pojo>> resultSetExtractor =
            JdbcTemplateMapperFactory
                    .newInstance()
                    .addKeys("id")
                    .newResultSetExtractor(Pojo.class);

    return emptyIfNull(jdbcTemplate.query("select * from " +  tableName, resultSetExtractor));
  }
}

在我的控制器中,我只注入了queryexecutor,一切正常。
当我跑的时候:

CompletableFuture.runAsync(() -> queryExecutor.executeOn("my_table"));

我有个例外:
org.springframework.dao.dataaccessresourcefailureexception:语句回调;sql[从我的表中选择*];此连接已关闭。;嵌套异常为org.postgresql.util.psqlexception:此连接已关闭。

我的配置是:

@Primary
@Bean(name = "dataSource")
@ConfigurationProperties(prefix = "spring.datasource.hikari")
public HikariDataSource dataSource() {
    return dataSourceProperties().initializeDataSourceBuilder()
            .type(HikariDataSource.class).build();
}

@Bean(name = "jdbcTemplate")
public JdbcTemplate jdbcTemplate(@Qualifier("dataSource") DataSource dataSource) {
    return new JdbcTemplate(dataSource);
}

你知道吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题