【发布时间】:2015-04-16 22:43:32
【问题描述】:
我有一个 Spring Boot Web 应用程序。该应用程序是通过 java 类使用 @Configurable 注释进行配置的。我介绍了两个配置文件:“安装”、“正常”。 如果安装配置文件处于活动状态,则不会加载任何需要 DB 连接的 Bean。 我想创建一个控制器,用户可以在其中设置数据库连接参数,完成后我想将活动配置文件从“安装”切换到“正常”并刷新应用程序上下文,因此 Spring 可以初始化每个需要的 bean数据库数据源。
我可以从代码修改活动配置文件列表,没有问题,但是当我尝试刷新应用程序上下文时,我得到以下异常:
`java.lang.IllegalStateException:
GenericApplicationContext does not support multiple refresh attempts: just call 'refresh' once`
这就是我启动 Spring Boot 应用程序的方式:
`new SpringApplicationBuilder().sources(MyApp.class)
.profiles("my-profile").build().run(args);`
有人知道如何启动让您多次刷新应用上下文的 Spring Boot 应用吗?
【问题讨论】:
标签: java spring-boot refresh applicationcontext spring-profiles