0

我目前正在维护一个遗留代码库,其中在应用程序上下文中指定了以下 Spring 配置文件配置:

spring.profiles.active=addressbook-[usermanager|webservices],entrypoint-[form|saml]

问题是:我如何阅读此示例中指定的内容spring.profiles.active

我认为这里有 4 种可能的配置文件定义是否正确?即:

addressbook-usermanager, entrypoint-form
addressbook-webservices, entrypoint-form
addressbook-usermanager, entrypoint-saml
addressbook-webservices, entrypoint-saml

有没有办法打开日志记录以查看选择了哪个配置文件以及为特定配置文件加载了哪些 bean?如果没有,为什么他们没有被加载?

我正在浏览这篇博客文章和我能找到的任何其他类型的文档,但我没有找到任何特定于上述配置文件规范语法的内容。有没有可用的文档?

谢谢!

4

1 回答 1

2

我不知道 Spring 对您上面描述的语法有任何支持。我相信您所描述的配置将为您提供两个活动配置文件:

  • addressbook-[usermanager|webservices]
  • entrypoint-[form|saml]

您可以使用 查询当前活动的配置文件Environment.getActiveProfiles()。要获取Environment实例,您可以使用 Spring 的 auto-wiring 或 implement EnvironmentAware

您可能还想查看ProfileCondition. 它没有日志记录,但您可以使用调试器根据@Profile注释查看包含或排除的 bean。

于 2014-09-17T20:07:09.303 回答