Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

203
Visualizações
Múltiples configuraciones de liquibase en arranque de resorte

Tengo una aplicación Spring Boot que usa 2 bases de datos. Definí 2 configuraciones proporcionando fuentes de datos específicas. Quiero que liquibase administre esas fuentes de datos por separado. Definí 2 archivos de registro de cambios separados.

El problema es que no puedo definir 2 beans separados para liquibase.

Aquí están mis clases de configuración:

 ... public class CCSConfiguration { ... @Bean @ConfigurationProperties("ccs.liquibase") public LiquibaseProperties ccsLiquibaseProperties() { return new LiquibaseProperties(); } @Bean public SpringLiquibase ccsLiquibase(LiquibaseProperties liquibaseProperties) { ... } ... } ... public class CCAConfiguration { ... @ConfigurationProperties("cca.liquibase") public LiquibaseProperties ccaLiquibaseProperties() { return new LiquibaseProperties(); } @Bean public SpringLiquibase ccaLiquibase(LiquibaseProperties liquibaseProperties) { ... } ... }

Y propiedades:

 cca: liquibase: change-log: classpath:config/liquibase/cca/master.xml ccs: liquibase: change-log: classpath:config/liquibase/ccs/master.xml

Con esta configuración, aparece el siguiente error al ejecutar la aplicación:

 2017-04-11 14:26:55.664 WARN 34292 --- [ restartedMain] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'liquibase' available 2017-04-11 14:26:55.711 WARN 34292 --- [ restartedMain] osboot.SpringApplication : Error handling failed (Error creating bean with name 'delegatingApplicationListener' defined in class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]: BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.cache.config.internalCacheAdvisor' defined in class path resource [org/springframework/cache/annotation/ProxyCachingConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cache.interceptor.BeanFactoryCacheOperationSourceAdvisor]: Factory method 'cacheAdvisor' threw exception; nested exception is java.lang.NullPointerException) 2017-04-11 14:26:55.939 ERROR 34292 --- [ restartedMain] osbdLoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: A component required a bean named 'liquibase' that could not be found. Action: Consider defining a bean named 'liquibase' in your configuration.

Entonces, ¿es posible definir múltiples beans liquibase para diferentes fuentes de datos?

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

hay dos opciones:

  1. define un bean llamado liquibase para permitir que el proceso integrado Spring-Boot actualice su esquema en su primer DS. Tienes que manejar el segundo a mano.

  2. deshabilita la actualización automática de liquibase al inicio con

habilitado: falso

y defina su camino DS y liquibase beans para actualizar sus dos bases de datos

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda