我最近切换到HikariCP而不是tomcat连接池。
我通过/configprops
执行器端点检查连接属性,但现在我得到的是:
"dataSource" : {
"prefix" : "spring.datasource.hikari",
"properties" : {
"error" : "Cannot serialize 'spring.datasource.hikari'"
}
}
如何让它返回正常值?我认为spring boot应该使用org.springframework.boot.autoconfigure.jdbc.metadata.HikariDataSourcePoolMetadata
答案 0 :(得分:1)
所以我发现Hikari的DriverDataSource
向某些吸气者扔了SQLFeatureNotSupportedException
。解决这个问题的唯一方法是定制执行器页面。幸运的是,它恰好相对容易:
@Component
public class MyConfigurationPropertiesReportEndpoint extends ConfigurationPropertiesReportEndpoint {
@Override
protected void configureObjectMapper(ObjectMapper mapper) {
super.configureObjectMapper(mapper);
mapper.addMixIn(HikariDataSource.class, HikariDataSourceMixIn.class);
}
}
和MixIn:
public abstract class HikariDataSourceMixIn {
@JsonIgnore
abstract PrintWriter getLogWriter();
@JsonIgnore
abstract HikariConfigMXBean getHikariConfigMXBean();
}