如何自定义HikariPool启动日志的池名称?解决初始化失败无名称问题
替换Hikari连接池日志中的默认名称
可以直接通过Hikari连接池的专属配置设置自定义池名称,无论初始化成功还是失败,该名称都会在日志中显示,具体方法如下:
方法一:配置文件方式
在application.properties或application.yml中添加Hikari池名称配置:
application.properties
spring.datasource.hikari.pool-name=自定义业务池名称
application.yml
spring: datasource: hikari: pool-name: 自定义业务池名称
配置后启动日志会显示:
2022-11-17 10:33:03,608 INFO [main] com.zaxxer.hikari.HikariDataSource: 自定义业务池名称 - Starting...
方法二:代码手动配置
如果是手动构建数据源,直接给HikariDataSource设置poolName属性即可:
@Bean public DataSource customDataSource() { HikariDataSource hikariDs = new HikariDataSource(); hikariDs.setPoolName("自定义业务池名称"); // 补充其他必要配置:url、username、password等 return hikariDs; }
原方法不生效的原因
你之前使用的entityManagerFactoryBean.setPersistenceUnitName("SOME_NAME")是JPA持久化单元的名称,仅在JPA实体管理器初始化完成后才会关联显示。而Hikari连接池的启动日志输出早于JPA初始化流程——如果连接池初始化失败,JPA根本没有加载机会,自然不会展示这个名称。
直接配置Hikari的pool-name是针对连接池本身的设置,不受JPA初始化状态影响,无论成功失败都会在日志中展示自定义名称。
内容的提问来源于stack exchange,提问作者ahrooran
相关产品推荐
相关产品推荐

