Przeczytanie instrukcji na wiki HikariCP o włączaniu metryk Dropwizarda, oznacza to po prostu skonfigurowanie instancji MetricsRegistry w HikariConfig lub HikariDatasource. Problem polega na tym, że w Spring Boot cała konfiguracja jest obsługiwana przez autokonfigurację, więc w ogóle nie konfiguruję ręcznie puli HikariCP. Wszelkie instrukcje, jak to zrobić? Czy muszę całkowicie przesłonić autokonfigurację, definiując własny komponent bean i ustawiając wszystkie ustawienia w pliku @Configuration?Jak skonfigurować dane HikariCP i Dropwizard/Coda-Hale w aplikacji Spring Boot
8
A
Odpowiedz
8
Więc udało mi się to rozwiązać ręcznie, konfigurując HikariCP w pliku konfiguracyjnym java. To pozwoliło mi uzyskać odniesienie do Spring Boot MetricRegistry, które mogłem następnie ustawić w HikariConfig. Oto moja klasa konfiguracja:
@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);
}
}
7
Albo niech Wiosna Boot skonfigurować źródło danych, @Autowire DataSource i MetricRegistry w swojej konfiguracji/@ @ klasy SpringBootApplication i drut je razem w @PostConstruct:
@Autowired
private DataSource dataSource;
@Autowired
private MetricRegistry metricRegistry;
@PostConstruct
public void setUpHikariWithMetrics() {
if(dataSource instanceof HikariDataSource) {
((HikariDataSource) dataSource).setMetricRegistry(metricRegistry);
}
}
Powiązane problemy
- 1. Jak skonfigurować aplikację Spring Boot dla JSP?
- 2. Spring Boot i jak skonfigurować szczegóły połączenia z MongoDB?
- 3. Jak skonfigurować certyfikat SSL letsencrypt i używać go w aplikacji Spring Boot?
- 4. Spring Boot i FreeMarker
- 5. Testy integracyjne aplikacji wielozakresowej w Spring Boot
- 6. Jak skonfigurować kontekst aplikacji WWW w Spring Spring MVC
- 7. Jak skonfigurować Spring Boot za pomocą elasticsearch 5.2.1?
- 8. Spring Boot Rest - jak skonfigurować 404 - nie znaleziono zasobu
- 9. Spring Boot i OAuth2, WebSecurityConfigurerAdapter kontra ResourceServerConfigurerAdapter
- 10. @EnableTransactionManagement w Spring Boot
- 11. Jak Spring Boot Application działa wewnętrznie?
- 12. Spring Boot - nesting ConfigurationProperties
- 13. Jak zalogować aktywną konfigurację w aplikacji Spring Boot?
- 14. Implementowanie architektury wtyczek w aplikacji Spring Boot z adnotacjami
- 15. Spring Boot devtools IntelliJ
- 16. Jak działa spring-boot @ConditionalOnClass?
- 17. Jak działa konsola Spring Boot?
- 18. Spring Boot @EnableScheduling warunkowo
- 19. Spring Boot: Hibernate and Flyway boot order
- 20. Jak wyłączyć Spring Security w Spring Boot Application
- 21. Wyłączanie automatycznej konfiguracji Spring JMS w Spring Boot Application
- 22. Gdzie umieszczam moje fasole XML w aplikacji Spring Boot?
- 23. Konwertuj istniejącą aplikację Spring na Spring-Boot
- 24. Specyficzny dla środowiska plik application.properties w aplikacji Spring Boot
- 25. Jak ustawić domyślne środowisko w Spring Boot
- 26. Spring Boot sperate @Configurations dla wielu kontekstów aplikacji
- 27. Spring Boot AutoConfiguration Order
- 28. Spring Boot: Używanie @Service w realizacji kwarcu
- 29. Jak skonfigurować statystyki Hibernate w aplikacji Spring 3.0?
- 30. Spring Boot z MongoTemplate
Sądzę, że lepiej, żeby wszystko pozostało nietknięte, a na końcu podłącz metryki. Niezła odpowiedź! –
Kiedy próbuję tego, otrzymuję "java.lang.IllegalStateException: konfiguracja puli jest zapieczętowana po uruchomieniu. Użyj HikariConfigMXBean do zmiany środowiska wykonawczego." –