I would like to disable auto-configuration of my DataSource in spring, as in some environments we may not have the datasource deployed yet and want to use lazy initialization. I am having trouble finding a way to do this. I am on spring.boot.version 2.5.9.
I have found many others trying to achieve the same thing, such as Disable Spring Boot Configuration. However they all mention using the exclusions below:
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
or the similar properties option. However this is not working for me. I have tried removing many classes that i have seen initialize my DataSource Bean but i can't get to the bottom of it. (my current code below)
@SpringBootApplication(exclude = {
JdbcTemplateAutoConfiguration.class,
DataSourceAutoConfiguration.class,
DataSourceTransactionManagerAutoConfiguration.class,
AopAutoConfiguration.class,
ConfigurationPropertiesAutoConfiguration.class,
LifecycleAutoConfiguration.class,
PersistenceExceptionTranslationAutoConfiguration.class,
DataSourceHealthContributorAutoConfiguration.class,
HibernateJpaAutoConfiguration.class})
I have also added a screenshot of the dependencies in my project related to spring.
And here are some of my logs at startup currently. translationJobDB is my DataSource that i am trying to stop from being initalized on startup.
2022-08-07 13:16:57,533 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'viewResolver'
2022-08-07 13:16:57,534 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'viewResolver' via factory method to bean named 'org.springframework.beans.factory.support.DefaultListableBeanFactory@6c6d76f7'
2022-08-07 13:16:57,543 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration'
2022-08-07 13:16:57,544 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'applicationAvailability'
2022-08-07 13:16:57,549 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.actuate.autoconfigure.availability.AvailabilityHealthContributorAutoConfiguration'
2022-08-07 13:16:57,554 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$Jackson2ObjectMapperBuilderCustomizerConfiguration'
2022-08-07 13:16:57,555 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'standardJacksonObjectMapperBuilderCustomizer'
2022-08-07 13:16:57,557 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'spring.jackson-org.springframework.boot.autoconfigure.jackson.JacksonProperties'
2022-08-07 13:16:57,563 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'standardJacksonObjectMapperBuilderCustomizer' via factory method to bean named 'org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@34b56ac0'
2022-08-07 13:16:57,564 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'standardJacksonObjectMapperBuilderCustomizer' via factory method to bean named 'spring.jackson-org.springframework.boot.autoconfigure.jackson.JacksonProperties'
2022-08-07 13:16:57,567 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$JacksonObjectMapperBuilderConfiguration'
2022-08-07 13:16:57,568 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$ParameterNamesModuleConfiguration'
2022-08-07 13:16:57,570 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'parameterNamesModule'
2022-08-07 13:16:57,576 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$JacksonObjectMapperConfiguration'
2022-08-07 13:16:57,578 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration'
2022-08-07 13:16:57,579 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'jsonComponentModule'
2022-08-07 13:16:57,588 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextAutoConfiguration'
2022-08-07 13:16:57,590 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'servletWebChildContextFactory'
2022-08-07 13:16:57,591 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'managementServletContext'
2022-08-07 13:16:57,592 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'managementServletContext' via factory method to bean named 'management.endpoints.web-org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties'
2022-08-07 13:16:57,595 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration'
2022-08-07 13:16:57,596 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration'
2022-08-07 13:16:57,600 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'spring.info-org.springframework.boot.autoconfigure.info.ProjectInfoProperties'
2022-08-07 13:16:57,605 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration' via constructor to bean named 'spring.info-org.springframework.boot.autoconfigure.info.ProjectInfoProperties'
2022-08-07 13:16:57,607 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'management.info-org.springframework.boot.actuate.autoconfigure.info.InfoContributorProperties'
2022-08-07 13:16:57,611 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'pathMappedEndpoints'
2022-08-07 13:16:57,615 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'pathMappedEndpoints' via factory method to bean named 'servletEndpointDiscoverer'
2022-08-07 13:16:57,615 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'pathMappedEndpoints' via factory method to bean named 'webEndpointDiscoverer'
2022-08-07 13:16:57,616 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'pathMappedEndpoints' via factory method to bean named 'controllerEndpointDiscoverer'
2022-08-07 13:16:57,620 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration'
2022-08-07 13:16:57,621 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.actuate.autoconfigure.metrics.integration.IntegrationMetricsAutoConfiguration'
2022-08-07 13:16:57,622 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.actuate.autoconfigure.metrics.jdbc.DataSourcePoolMetricsAutoConfiguration'
2022-08-07 13:16:57,623 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration'
2022-08-07 13:16:57,625 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'gsonBuilder'
2022-08-07 13:16:57,627 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'standardGsonBuilderCustomizer'
2022-08-07 13:16:57,629 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'spring.gson-org.springframework.boot.autoconfigure.gson.GsonProperties'
2022-08-07 13:16:57,638 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'standardGsonBuilderCustomizer' via factory method to bean named 'spring.gson-org.springframework.boot.autoconfigure.gson.GsonProperties'
2022-08-07 13:16:57,640 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'gsonBuilder' via factory method to bean named 'standardGsonBuilderCustomizer'
2022-08-07 13:16:57,674 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'gson'
2022-08-07 13:16:57,675 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'gson' via factory method to bean named 'gsonBuilder'
2022-08-07 13:16:57,786 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.http.JacksonHttpMessageConvertersConfiguration'
2022-08-07 13:16:57,787 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.http.GsonHttpMessageConvertersConfiguration'
2022-08-07 13:16:57,788 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration'
2022-08-07 13:16:57,789 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.actuate.autoconfigure.metrics.web.client.RestTemplateMetricsConfiguration'
2022-08-07 13:16:57,789 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'restTemplateExchangeTagsProvider'
2022-08-07 13:16:57,791 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'metricsRestTemplateCustomizer'
2022-08-07 13:16:57,793 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'metricsRestTemplateCustomizer' via factory method to bean named 'simpleMeterRegistry'
2022-08-07 13:16:57,794 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'metricsRestTemplateCustomizer' via factory method to bean named 'restTemplateExchangeTagsProvider'
2022-08-07 13:16:57,794 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'metricsRestTemplateCustomizer' via factory method to bean named 'management.metrics-org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties'
2022-08-07 13:16:57,800 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.actuate.autoconfigure.metrics.web.tomcat.TomcatMetricsAutoConfiguration'
2022-08-07 13:16:57,802 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'tomcatMetricsBinder'
2022-08-07 13:16:57,802 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'tomcatMetricsBinder' via factory method to bean named 'simpleMeterRegistry'
2022-08-07 13:16:57,804 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration$JmsTemplateConfiguration'
2022-08-07 13:16:57,805 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration$JmsTemplateConfiguration' via constructor to bean named 'spring.jms-org.springframework.boot.autoconfigure.jms.JmsProperties'
2022-08-07 13:16:57,806 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'jmsTemplate'
2022-08-07 13:16:57,807 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'jmsTemplate' via factory method to bean named 'sqsConnectionFactory'
2022-08-07 13:16:57,847 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration$MessagingTemplateConfiguration'
2022-08-07 13:16:57,849 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'jmsMessagingTemplate'
2022-08-07 13:16:57,851 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'jmsMessagingTemplate' via factory method to bean named 'spring.jms-org.springframework.boot.autoconfigure.jms.JmsProperties'
2022-08-07 13:16:57,851 DEBUG [main] [Log Context: ] org.springframework.beans.factory.support.ConstructorResolver:808 Autowiring by type from bean name 'jmsMessagingTemplate' via factory method to bean named 'jmsTemplate'
2022-08-07 13:16:57,889 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration'
2022-08-07 13:16:57,890 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.sql.init.DataSourceInitializationConfiguration'
2022-08-07 13:16:57,892 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'dataSourceScriptDatabaseInitializer'
2022-08-07 13:16:57,894 DEBUG [main] [Log Context: ] o.s.beans.factory.support.DefaultSingletonBeanRegistry:225 Creating shared instance of singleton bean 'translationJobDB'
