【问题标题】:Issue in connection pool startup with hikaricp, jdbctemplate, spring-boot使用 hikaricp、jdbctemplate、spring-boot 启动连接池时出现问题
【发布时间】:2019-01-27 05:13:27
【问题描述】:

我在 spring boot 应用程序中使用 hikari 和 spring jdbctemplate。 我的数据库连接池在应用程序启动后没有启动。 连接池仅在第一次调用 DB 后启动,这导致我的第一次服务调用。 任何建议如何在启动应用程序启动时初始化连接池..?

【问题讨论】:

  • 输入一些有问题的代码,以便我们提供帮助!(.yml 和 java 类代码)并告诉您正在使用哪个 Spring Boot 版本
  • 用代码视角更新你的问题

标签: spring-boot jdbctemplate hikaricp


【解决方案1】:

JdbcTemplate 的 Lazy-init 属性默认设置为 true。所以只有第一次访问它才会设置你的连接池。

您可以通过这种方式覆盖此行为:

@Bean public JdbcTemplate jdbcTemplate(DataSource dataSource) { return new JdbcTemplate(dataSource, false); }

【讨论】:

    【解决方案2】:

    谢谢大家,我已经解决了 在我的 initDatasource 方法中 -
    首先 - 我创建了 HikariConfig hikariDSObject = new HikariConfig(); 然后我设置所有属性 最后 - 我将 hikariDSObject 传递给 HikariDataSource 对象。

    有助于在启动时初始化连接池

    【讨论】:

      最近更新 更多