我有使用2个数据库的spring boot应用程序。我定义了2种提供指定数据源的配置。我想让liquibase单独管理这些数据源。我定义了两个独立的变更日志文件。
问题是,我无法为液化酶定义两个单独的bean。
以下是我的配置类:
...
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) {
...
}
...
}
和属性:
cca:
liquibase:
change-log: classpath:config/liquibase/cca/master.xml
ccs:
liquibase:
change-log: classpath:config/liquibase/ccs/master.xml
使用此配置,我在运行应用程序时出现以下错误:
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] o.s.boot.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] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
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.
那么,是否可以为不同的数据源定义多个liquibase bean?
有两种选择:
>
您定义了一个名为liquibase的bean,让spring-boot集成进程在您的第一个DS上更新您的模式。您必须手动处理第二个
您可以在启动时使用禁用liquibase自动更新
已启用:false
并定义DS和liquibase bean更新两个数据库的方式
我在SpringBoot应用程序中实现了多语言,在完成以下配置后,我得到的属性文件无法加载 文件夹名称 src/main/resources/i18n/messages 属性文件名 messages_us.properties 在应用程序主类 内部控制器 标题 接受-语言:我们 我明白了 [36mo.s.c.s.ResourceBundleMessageSource[0;39m[2m:[0;39m
在我的应用程序中,我可能需要运行多个Changelog文件,但我无法执行这样的执行, 我尝试按以下方式提供多个Changelog, LiquiBase.SetChangeLog(“classpath:schema/update-schema-01.sql”); LiquiBase.SetChangeLog(“classpath:schema/update-schema-02.sql”); 请在这里
寻找在Springboot应用程序中配置多个配置文件特定属性文件的最佳方法。下面是一个例子: -资源 · --application.properties · · · · · --德夫 --application-dev.properties --ldap-dev.properties --Quartz-Dev.Prope
我正试图让ubuntu上的liquibase 3.10.2首次在Db2仓库中运行。在教程示例之后,H2“liquibase update”示例运行良好。 使用指定的jar和下面的url字符串,可以很好地使用dbeaver,但将其转换为liquibase会提供以下错误。 更新的附加信息: (1)导致显示错误的完整命令行是什么?我正在发布h2教程中引用的简单示例 (2)更改日志文件内容是什么这与示例h
本文向大家介绍SpringBoot整合liquibase的实现方法,包括了SpringBoot整合liquibase的实现方法的使用技巧和注意事项,需要的朋友参考一下 LiquiBase 是一个用于数据库重构和迁移的开源工具,通过日志文件的形式记录数据库的变更,然后执行日志文件中的修改,将数据库更新或回滚到一致的状态。它的目标是提供一种数据库类型无关的解决方案,通过执行schema类型的文件来达到
本文向大家介绍springboot 多环境配置教程,包括了springboot 多环境配置教程的使用技巧和注意事项,需要的朋友参考一下 在上一课中我们通过idea工具没有做任何配置就构建了一个springboot项目,并且已经成功启动了,但我们都很清楚这些都远远不能达到我们实际项目的需求,比如我们要引入我们自己的redis配置、mysql配置等,应该如何处理呢?在spring mvc中我们都是通过