Приложение Spring boot 2 запускается медленно из-за 'tomcatPoolDataSourceMetadataProvider' - PullRequest
0 голосов
/ 09 июля 2019

Я сталкиваюсь с проблемой замедления во время запуска после перехода с SpringBoot1 на SpringBoot2 в приложении с поддержкой Java8.

Для запуска требуется 35-40 минут и около 15 для одного компонента, создающего имя 'tomcatPoolDataSourceMetadataProvider'.

07/08/2019 15: 46: 05.382 ОТЛАДКА org.springframework.beans.factory.support.DefaultListableBeanFactory: [main] [{}] - Автопроводка по типу из имени бина 'Org.springframework.boot.actuate.autoconfigure.metrics.jdbc.DataSourcePoolMetricsAutoConfiguration $ DataSourcePoolMetadataMetricsConfiguration' через конструктор для компонента с именем 'tomcatPoolDataSourceMetadataProvider' 08/08/2019 16: 00: 03.649 ОТЛАДКА org.springframework.beans.factory.support.DefaultListableBeanFactory: [main] [{}] - Создание общего экземпляра синглтон-компонента 'Org.springframework.boot.actuate.autoconfigure.metrics.jdbc.DataSourcePoolMetricsAutoConfiguration'

import com.expedia.lodging.booking.metrics.annotation.EnableApplicationMetrics;
import expedia.content.solutions.metrics.spring.EnableMetrics;
import expedia.content.solutions.poke.spring.support.EnablePoke;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.actuate.autoconfigure.metrics.jdbc.DataSourcePoolMetricsAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ImportResource;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.web.servlet.DispatcherServlet;


@SpringBootApplication(exclude = {DataSourcePoolMetricsAutoConfiguration.class})
@ImportResource(locations = {"classpath:spring-config.xml"})
@EnableCaching(proxyTargetClass = true)
@EnableScheduling
@EnablePoke
@EnableMetrics
@EnableApplicationMetrics
public class Application {

  @Value("${http.port}")
  private int httpPort;

  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }

  @Bean
  public ServletRegistrationBean servletRegistrationBean(DispatcherServlet dispatcherServlet) {
    ServletRegistrationBean register = new ServletRegistrationBean(dispatcherServlet);
    register.addUrlMappings("/*", "/ping");  // Allow root level ping.
    return register;
  }}
...