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 Details

    • REGISTRATION_BEAN_NAME

      public static final String 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 JavaMelody SessionListener.
      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 JavaMelody MonitoringFilter. The filter can be overridden completely by creating a custom FilterRegistrationBean with the name "javamelody-registration" in the application context.
      Parameters:
      properties - JavaMelodyConfigurationProperties
      servletContext - 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 JDBC DataSources
      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 the MonitoredWithSpring annotation.
      Returns:
      MonitoringSpringAdvisor
    • monitoringSpringServiceAdvisor

      @Bean @ConditionalOnProperty(prefix="javamelody", name="spring-monitoring-enabled", matchIfMissing=true) public net.bull.javamelody.MonitoringSpringAdvisor monitoringSpringServiceAdvisor()
      Monitoring of beans having the Service annotation.
      Returns:
      MonitoringSpringAdvisor
    • monitoringSpringControllerAdvisor

      @Bean @ConditionalOnProperty(prefix="javamelody", name="spring-monitoring-enabled", matchIfMissing=true) public net.bull.javamelody.MonitoringSpringAdvisor monitoringSpringControllerAdvisor()
      Monitoring of beans having the Controller annotation.
      Returns:
      MonitoringSpringAdvisor
    • monitoringSpringRestControllerAdvisor

      @Bean @ConditionalOnProperty(prefix="javamelody", name="spring-monitoring-enabled", matchIfMissing=true) public net.bull.javamelody.MonitoringSpringAdvisor monitoringSpringRestControllerAdvisor()
      Monitoring of beans having the RestController annotation.
      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 the Async annotation.
      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 the Scheduled or Schedules annotations.
      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 ClassNotFoundException
      Monitoring 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 of RestTemplate beans.
      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.