Search code examples
springspring-bootspring-cloud

How to disable spring-cloud config server for dev properties


I integrate spring cloud in my spring app. It works fine. But I have 3 properties files : application.properties

server.port 9101

spring.profiles.active=@env@
logging.level.org.springframework.data=debug
logging.level.=error

application-dev.properties

spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true 
spring.jpa.hibernate.use-new-id-generator-mappings=true

logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE

#TRACE DEBUG or INFO
logging.level.org.hibernate.type=INFO
spring.application.name=microservice-payment
spring.cloud.config.enabled = false

spring.jpa.properties.hibernate.type=trace 
spring.datasource.url=jdbc:postgresql://localhost:5432/gara-mpayment
spring.datasource.username=garauser
spring.datasource.password=garauser
spring.jpa.hibernate.ddl-auto=update
spring.datasource.driver-class-name=org.postgresql.Driver
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.datasource.initialization-mode=always
server.servlet.session.timeout=10s


#RabbitMq configuration
rabbitmq.queueName=mpayment.queue
rabbitmq.exchangeName=mpayment-exchange
rabbitmq.routingKey=mpayment.routingkey

and applictaion-int.properties

spring.cloud.config.server.git.uri=my-url
spring.cloud.config.server.git.username=username
spring.cloud.config.server.git.password=pwd

I could I disable spring cloud for dev profile in order to use the local content of application-dev.properties and activate only for applictaion-int.properties ?

I tried spring.cloud.config.enabled=false spring.cloud.bootstrap.enabled=false without success.


Solution

  • You can find the solution here : https://github.com/spring-cloud/spring-cloud-config/issues/1503#event-2910814394

    @Configuration
    @ConditionalOnMissingBean(EnvironmentRepository.class)
    @Profile("dev") // profile name
    class NativeRepositoryConfiguration {
    @Bean
    public NativeEnvironmentRepository nativeEnvironmentRepository(NativeEnvironmentRepositoryFactory factory,
            NativeEnvironmentProperties environmentProperties) {
            return factory.build(environmentProperties);
        }
    }