codecamp

Micronaut Bootstrap 配置

大多数应用程序配置存储在您的配置文件(例如 application.yml)、环境特定文件(如 application-{environment}.{extension}、环境和系统属性等)中。这些配置应用程序上下文。但是在应用程序启动期间,在创建应用程序上下文之前,可以创建一个“引导程序”上下文来存储必要的配置,以检索主上下文的附加配置。通常,该附加配置位于某些远程源中。

根据以下条件启用引导上下文。按以下顺序检查条件:

  • 如果设置了 BOOTSTRAP_CONTEXT_PROPERTY 系统属性,则该值确定是否启用引导上下文。

  • 如果设置了应用程序上下文构建器选项 bootstrapEnvironment,则该值确定是否启用引导上下文。

  • 如果存在 BootstrapPropertySourceLocator bean,则启用引导上下文。通常这来自 micronaut-discovery-client 依赖项。

在解析应用程序上下文配置属性之前必须存在的配置属性(例如,在使用分布式配置时)存储在引导程序配置文件中。一旦确定引导程序上下文已启用(如上所述),就会使用与常规应用程序配置相同的规则读取引导程序配置文件。唯一的区别是前缀(引导程序而不是应用程序)。

文件名前缀 bootstrap 可使用系统属性 micronaut.bootstrap.name 进行配置。

引导上下文配置会自动转移到主上下文,因此没有必要在主上下文中复制配置属性。此外,引导上下文配置的优先级高于主上下文,这意味着如果一个配置属性出现在两个上下文中,那么该值将首先从引导上下文中获取。

这意味着如果两个地方都需要一个配置属性,它应该进入引导上下文配置。

Bootstrap 上下文 Bean

为了使 bean 在 bootstrap 上下文中可解析,它必须用 @BootstrapContextCompatible 注释。如果任何给定的 bean 没有被注释,那么它将无法在引导上下文中被解析。通常,任何参与检索分布式配置过程的 bean 都需要进行注释。


Micronaut 不可变配置
Micronaut JMX 支持
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Micronaut 独立命令行应用程序

Micronaut 安全

Micronaut 多租户

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }