弹簧执行器:/ configprops没有显示HikariCP数据源

时间:2017-07-26 14:54:49

标签: spring-boot hikaricp spring-boot-actuator

我最近切换到HikariCP而不是tomcat连接池。 我通过/configprops执行器端点检查连接属性,但现在我得到的是:

"dataSource" : {
 "prefix" : "spring.datasource.hikari",
 "properties" : {
  "error" : "Cannot serialize 'spring.datasource.hikari'"
 }
}

如何让它返回正常值?我认为spring boot应该使用org.springframework.boot.autoconfigure.jdbc.metadata.HikariDataSourcePoolMetadata

来处理这个问题

1 个答案:

答案 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();
}