반응형
Spring Boot 애플리케이션에서 HikariCP 및 Drop Wizard/Coda-Hale 메트릭을 구성하는 방법
HikariCP Wiki에서 Dropwizard 메트릭을 활성화하는 방법에 대한 설명을 읽으면MetricsRegistry에 대한 인스턴스HikariConfig또는HikariDatasource.
문제는 Spring Boot에서는 모든 설정이 자동 설정으로 처리되기 때문에 HikariCP 풀을 수동으로 설정하지 않습니다.
어떻게 하는지 설명 좀 해주시겠어요?자신의 bean을 정의하고 모든 설정을 설정하여 자동 설정을 완전히 덮어쓸 필요가 있습니까?@Configuration파일링?
또는 Spring Boot에서 @Configuration/@Spring Boot Application 클래스의 데이터 원본과 MetricRegistry를 설정하고 @PostConstructure로 이들을 배선합니다.
@Autowired
private DataSource dataSource;
@Autowired
private MetricRegistry metricRegistry;
@PostConstruct
public void setUpHikariWithMetrics() {
if(dataSource instanceof HikariDataSource) {
((HikariDataSource) dataSource).setMetricRegistry(metricRegistry);
}
}
Java Configuration파일로 HikariCP를 수동으로 설정함으로써 이 문제를 해결할 수 있었습니다.이를 통해 Spring Boot Metric Registry에 대한 참조를 얻을 수 있었습니다.이러한 참조는 HikariConfig에서 설정할 수 있었습니다.구성 클래스는 다음과 같습니다.
@Configuration
public class DatasourceConfiguration {
@Value("${spring.datasource.username}")
private String user;
@Value("${spring.datasource.password}")
private String password;
@Value("${spring.datasource.url}")
private String dataSourceUrl;
@Value("${spring.datasource.driverClassName}")
private String driverClassName;
@Value("${spring.datasource.connectionTestQuery}")
private String connectionTestQuery;
@Autowired
private MetricRegistry metricRegistry;
@Bean
public DataSource primaryDataSource() {
Properties dsProps = new Properties();
dsProps.setProperty("url", dataSourceUrl);
dsProps.setProperty("user", user);
dsProps.setProperty("password", password);
Properties configProps = new Properties();
configProps.setProperty("connectionTestQuery", connectionTestQuery);
configProps.setProperty("driverClassName", driverClassName);
configProps.setProperty("jdbcUrl", dataSourceUrl);
HikariConfig hc = new HikariConfig(configProps);
hc.setDataSourceProperties(dsProps);
hc.setMetricRegistry(metricRegistry);
return new HikariDataSource(hc);
}
}
언급URL : https://stackoverflow.com/questions/28615203/how-do-i-configure-hikaricp-and-dropwizard-coda-hale-metrics-in-spring-boot-appl
반응형
'codememo' 카테고리의 다른 글
| Python에서 숫자 목록을 jsonarray로 변환하는 방법 (0) | 2023.02.27 |
|---|---|
| 동일 발신기지 정책을 회피하는 방법 (0) | 2023.02.27 |
| Oracle에서의 시퀀스 권한 (0) | 2023.02.27 |
| System.Text.Json.Json Serializer.직렬화는 빈 Json 개체 "{}"을(를) 반환합니다. (0) | 2023.02.27 |
| jQuery Ajax는 모든 이미지가 로드될 때까지 기다립니다. (0) | 2023.02.27 |