当前位置: 首页 > 知识库问答 >
问题:

没有使用Springboot HikariCP

孟福
2023-03-14

似乎没有使用Hikaricp。

例如,Spring。数据源。始终影响最大池大小。Spring数据源。希卡里。最大池大小不受影响。

我设定如下:

in application.yml
spring:
  datasource:
      ....
      maximum-pool-size: 10
      hikari:
          connection-timeout: 60000
          maximum-pool-size: 5

然后我通过netstat命令检查连接数。有10个连接。似乎hikari的最大池大小不起作用。即使我删除了spring.datasource.maximum池大小,hikari的最大池大小仍然不起作用。

此外,我设置了以下日志事件,但没有关于HikariCP的日志。

logging:
  level:
    ROOT: NOTE
    org.springframework: DEBUG

当然,我使用以下依赖项进行构建,以确保它能够脱离tomcat jdbc:

compile("org.springframework.boot:spring-boot-starter-data-jpa") {

exclude group: 'org.apache.tomcat', module: 'tomcat-jdbc'
}
compile("org.springframework.boot:spring-boot-starter-jdbc") {

exclude group: 'org.apache.tomcat', module: 'tomcat-jdbc'
}
compile("com.zaxxer:HikariCP:2.6.0")

你能帮我找到这个问题吗?

共有1个答案

汪博艺
2023-03-14

我在我的spring boot应用程序中实现了这一点,它需要两个数据库连接。

以下是我的配置bean:

@Bean
@Primary
@ConfigurationProperties("spring.datasource.primary")
public DataSourceProperties dataSourcePropertiesPrimary() {
    return new DataSourceProperties();
}

@Bean
@Primary
@ConfigurationProperties("spring.datasource.primary.hikari")
public HikariDataSource dataSourcePrimary() {
    return dataSourcePropertiesPrimary()
            .initializeDataSourceBuilder()
            .type(HikariDataSource.class)
            .build();
}

和我的application.properties文件:

spring.datasource.primary.hikari.minimum-idle=1
spring.datasource.primary.hikari.maximum-pool-size=3

您可以使用Jolokia确认池大小前后。

或者,您可以通过在调试模式下运行应用程序并中断指向文件HikariConfig进行确认。java在私有方法ValidateEnumerics上,其中设置了maxPoolSize

 类似资料:
  • 我需要在SE环境中使用没有CDI容器的Jersey 2.28(带Jetty)。我的所有设置都在web.xml中: 以下是我使用的依赖项: 我得到的是: 我知道Jersey可以与不同的DI容器一起使用,例如Weld、HK2等,但是否可以不使用DI容器?如果是,那又是怎样做的呢?

  • 未使用其缓存。 生成与此相同的输出: 我正在修改Dockerfile,在文件末尾添加命令。所以前面的层应该被缓存并且有效。 我有足够的磁盘空间。 有什么想法吗? Docker版本17.06.1-ce,构建874a737 Dockerfile:

  • 问题内容: 我想在Python中使用PhantomJS。我用谷歌搜索了这个问题,但是找不到合适的解决方案。 我发现 可能是一个不错的选择。但是我无法通过一些争论。 使用可能是目前合适的解决方案。我想知道是否有更好的解决方案。 有没有办法在Python中使用PhantomJS? 问题答案: 在python中使用PhantomJS的最简单方法是通过Selenium。最简单的安装方法是 安装NodeJS

  • 我们有一个函数,该函数使用自身内部的非捕获lambda,例如: 现在,lambda实现的功能在其他地方变得需要,因此我将把lambda从提升到全局/命名空间范围。我可以将其保留为lambda,使其成为复制粘贴选项,或者将其更改为适当的函数: 将其更改为适当的函数是微不足道的,但这让我想知道是否有理由不将其保留为lambda?是否有任何理由不在任何地方使用lambda而不是“常规”全局函数?

  • 我想在Python中使用PhantomJS。我谷歌了这个问题,但找不到合适的解决方案。 我发现可能是一个不错的选择。但我无法向它传递一些论据。 使用目前可能是一个合适的解决方案。我想知道是否有更好的解决办法。 有没有办法在Python中使用PhantomJS?

  • 我读到这个关于Java的和之间的区别的问题,后者已经有几年的历史了。让我吃惊的是,只有一个问题提到了使用的任何缺点;也就是说,如果使用大量CPU,加速比就会降低。 假设您不在某种特殊的单线程环境中,是否应该始终选择?有什么理由不这样做吗?请注意,上面问题的一个答案提到,如果元素少于4096个,将直接调用。