Package net.bull.javamelody
Class JavaMelodyAutoConfiguration
java.lang.Object
net.bull.javamelody.JavaMelodyAutoConfiguration
@Configuration
@EnableConfigurationProperties(JavaMelodyConfigurationProperties.class)
@ConditionalOnWebApplication
@ConditionalOnProperty(prefix="javamelody",
name="enabled",
matchIfMissing=true)
public class JavaMelodyAutoConfiguration
extends Object
Spring Boot auto-configuration for JavaMelody.
This class is picked up by the Spring Boot auto-configuration mechanism and creates the beans required to set up JavaMelody.
Configuration values are injected using JavaMelodyConfigurationProperties.
The auto-configured filter can be overridden by defining a custom FilterRegistrationBean with the name
"javamelody-registration" in the application context.
The configuration is enabled for web applications by default. It is possible to opt-out of the auto-configuration by setting the application configuration "javamelody.enabled" to the value "false".
- Since:
- 1.64.0
- Author:
- Georg Wittberger, Emeric Vernat
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreatorNow disabled by default, since dependency spring-boot-starter-aop was added in 1.76.net.bull.javamelody.SpringContextnet.bull.javamelody.SpringDataSourceBeanPostProcessormonitoringDataSourceBeanPostProcessor(String excludedDatasources) Monitoring of JDBCDataSourcesnet.bull.javamelody.SpringElasticsearchOperationsBeanPostProcessorMonitoring of ElasticsearchOperations beans.monitoringEndpoint(jakarta.servlet.ServletContext servletContext) When enabled, management endpoint for /monitoring reports on the management http port instead of the application http port.net.bull.javamelody.MonitoringSpringAdvisorMonitoring of Feign clients.org.springframework.boot.web.servlet.FilterRegistrationBean<net.bull.javamelody.MonitoringFilter>monitoringFilter(JavaMelodyConfigurationProperties properties, jakarta.servlet.ServletContext servletContext) Registers the JavaMelodyMonitoringFilter.net.bull.javamelody.SpringMongoDbFactoryBeanPostProcessorMonitoring of MongoDbFactory beans.net.bull.javamelody.SpringRestTemplateBeanPostProcessorMonitoring ofRestTemplatebeans.org.springframework.boot.web.servlet.ServletListenerRegistrationBean<EventListener>monitoringSessionListener(jakarta.servlet.ServletContext servletContext) Registers the JavaMelodySessionListener.net.bull.javamelody.MonitoringSpringAdvisorMonitoring of beans and methods having theMonitoredWithSpringannotation.net.bull.javamelody.MonitoringSpringAdvisorMonitoring of beans or methods having theAsyncannotation.net.bull.javamelody.MonitoringSpringAdvisorMonitoring of beans having theControllerannotation.net.bull.javamelody.MonitoringSpringAdvisorMonitoring of beans having theRestControllerannotation.net.bull.javamelody.MonitoringSpringAdvisorMonitoring of beans methods having theScheduledorSchedulesannotations.net.bull.javamelody.MonitoringSpringAdvisorMonitoring of beans having theServiceannotation.org.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizerConfigure Spring's Schedulers for Quartz Scheduler
-
Field Details
-
REGISTRATION_BEAN_NAME
Name of the FilterRegistrationBean.- See Also:
-
-
Constructor Details
-
JavaMelodyAutoConfiguration
public JavaMelodyAutoConfiguration()
-
-
Method Details
-
monitoringSessionListener
@Bean public org.springframework.boot.web.servlet.ServletListenerRegistrationBean<EventListener> monitoringSessionListener(jakarta.servlet.ServletContext servletContext) Registers the JavaMelodySessionListener.- Parameters:
servletContext- ServletContext- Returns:
- ServletListenerRegistrationBean
-
monitoringFilter
@Bean(name="javamelody-registration") @ConditionalOnMissingBean(name="javamelody-registration") public org.springframework.boot.web.servlet.FilterRegistrationBean<net.bull.javamelody.MonitoringFilter> monitoringFilter(JavaMelodyConfigurationProperties properties, jakarta.servlet.ServletContext servletContext) Registers the JavaMelodyMonitoringFilter. The filter can be overridden completely by creating a customFilterRegistrationBeanwith the name "javamelody-registration" in the application context.- Parameters:
properties- JavaMelodyConfigurationPropertiesservletContext- ServletContext- Returns:
- FilterRegistrationBean
-
monitoringEndpoint
@Bean @ConditionalOnProperty(prefix="javamelody", name="management-endpoint-monitoring-enabled", matchIfMissing=false) public MonitoringEndpoint monitoringEndpoint(jakarta.servlet.ServletContext servletContext) When enabled, management endpoint for /monitoring reports on the management http port instead of the application http port.- Parameters:
servletContext- ServletContext- Returns:
- MonitoringEndpoint
-
defaultAdvisorAutoProxyCreator
@Bean @ConditionalOnMissingBean(org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator.class) @ConditionalOnProperty(prefix="javamelody", name="advisor-auto-proxy-creator-enabled", matchIfMissing=false) public org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator()Now disabled by default, since dependency spring-boot-starter-aop was added in 1.76.- Returns:
- DefaultAdvisorAutoProxyCreator
-
monitoringDataSourceBeanPostProcessor
@Bean public net.bull.javamelody.SpringDataSourceBeanPostProcessor monitoringDataSourceBeanPostProcessor(@Value("${javamelody.excluded-datasources:}") String excludedDatasources) Monitoring of JDBCDataSources- Parameters:
excludedDatasources- Comma separated list of excluded datasources- Returns:
- SpringDataSourceBeanPostProcessor
-
monitoringSpringAdvisor
@Bean @ConditionalOnProperty(prefix="javamelody", name="spring-monitoring-enabled", matchIfMissing=true) public net.bull.javamelody.MonitoringSpringAdvisor monitoringSpringAdvisor()Monitoring of beans and methods having theMonitoredWithSpringannotation.- Returns:
- MonitoringSpringAdvisor
-
monitoringSpringServiceAdvisor
@Bean @ConditionalOnProperty(prefix="javamelody", name="spring-monitoring-enabled", matchIfMissing=true) public net.bull.javamelody.MonitoringSpringAdvisor monitoringSpringServiceAdvisor()Monitoring of beans having theServiceannotation.- Returns:
- MonitoringSpringAdvisor
-
monitoringSpringControllerAdvisor
@Bean @ConditionalOnProperty(prefix="javamelody", name="spring-monitoring-enabled", matchIfMissing=true) public net.bull.javamelody.MonitoringSpringAdvisor monitoringSpringControllerAdvisor()Monitoring of beans having theControllerannotation.- Returns:
- MonitoringSpringAdvisor
-
monitoringSpringRestControllerAdvisor
@Bean @ConditionalOnProperty(prefix="javamelody", name="spring-monitoring-enabled", matchIfMissing=true) public net.bull.javamelody.MonitoringSpringAdvisor monitoringSpringRestControllerAdvisor()Monitoring of beans having theRestControllerannotation.- Returns:
- MonitoringSpringAdvisor
-
monitoringSpringAsyncAdvisor
@Bean @ConditionalOnProperty(prefix="javamelody", name="spring-monitoring-enabled", matchIfMissing=true) public net.bull.javamelody.MonitoringSpringAdvisor monitoringSpringAsyncAdvisor()Monitoring of beans or methods having theAsyncannotation.- Returns:
- MonitoringSpringAdvisor
-
monitoringSpringScheduledAdvisor
@Bean @ConditionalOnProperty(prefix="javamelody", name="scheduled-monitoring-enabled", matchIfMissing=true) @ConditionalOnMissingBean(org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator.class) public net.bull.javamelody.MonitoringSpringAdvisor monitoringSpringScheduledAdvisor()Monitoring of beans methods having theScheduledorSchedulesannotations.- Returns:
- MonitoringSpringAdvisor
-
monitoringFeignClientAdvisor
@Bean @ConditionalOnClass(name="org.springframework.cloud.openfeign.FeignClient") @ConditionalOnProperty(prefix="javamelody", name="spring-monitoring-enabled", matchIfMissing=true) @ConditionalOnMissingBean(org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator.class) public net.bull.javamelody.MonitoringSpringAdvisor monitoringFeignClientAdvisor() throws ClassNotFoundExceptionMonitoring of Feign clients.- Returns:
- MonitoringSpringAdvisor
- Throws:
ClassNotFoundException- should not happen
-
monitoringRestTemplateBeanPostProcessor
@Bean @ConditionalOnProperty(prefix="javamelody", name="spring-monitoring-enabled", matchIfMissing=true) public net.bull.javamelody.SpringRestTemplateBeanPostProcessor monitoringRestTemplateBeanPostProcessor()Monitoring ofRestTemplatebeans.- Returns:
- SpringRestTemplateBeanPostProcessor
-
monitoringMongoDbFactoryBeanPostProcessor
@Bean @ConditionalOnProperty(prefix="javamelody", name="spring-monitoring-enabled", matchIfMissing=true) public net.bull.javamelody.SpringMongoDbFactoryBeanPostProcessor monitoringMongoDbFactoryBeanPostProcessor()Monitoring of MongoDbFactory beans.- Returns:
- SpringMongoDbFactoryBeanPostProcessor
-
monitoringElasticsearchOperationsBeanPostProcessor
@Bean @ConditionalOnProperty(prefix="javamelody", name="spring-monitoring-enabled", matchIfMissing=true) public net.bull.javamelody.SpringElasticsearchOperationsBeanPostProcessor monitoringElasticsearchOperationsBeanPostProcessor()Monitoring of ElasticsearchOperations beans.- Returns:
- SpringElasticsearchOperationsBeanPostProcessor
-
schedulerFactoryBeanCustomizer
@ConditionalOnClass(name={"org.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizer","org.springframework.scheduling.quartz.SchedulerFactoryBean","org.quartz.JobListener"}) @Bean @ConditionalOnMissingBean public org.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizer schedulerFactoryBeanCustomizer()Configure Spring's Schedulers for Quartz Scheduler- Returns:
- SchedulerFactoryBeanCustomizer
-
javamelodySpringContext
@Bean public net.bull.javamelody.SpringContext javamelodySpringContext()- Returns:
- Enregistrement du context Spring.
-