在我們基于 Spring Boot 2.4 的應用程式中,我們需要配置初始化應該延遲執行application.properties:
spring.main.lazy-initialization=true
spring.jmx.enabled=true
但是,使用此類設定無法通過 JMX 到達執行器端點。
這是一個攔截器現在,當我們遷移到Instana監控,這就需要org.springframework.boot:type=Endpoint,name=Metrics和org.springframework.boot:type=Endpoint,name=HealthMBean以通過JMX可用。
有沒有辦法保持延遲初始化啟用但在同一個 Actuator 中可以通過 JMX 訪問?
uj5u.com熱心網友回復:
這是 Spring Boot 中的一個錯誤,我剛剛為其打開了一個問題。感謝您提請我們注意。
您可以通過從延遲初始化中排除將端點匯出到 JMX 的 bean 來解決該問題。為此,請將以下 bean 添加到您的應用程式中:
@Bean
LazyInitializationExcludeFilter eagerJmxEndpointExport() {
return LazyInitializationExcludeFilter.forBeanTypes(JmxEndpointExporter.class);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/317095.html
