首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在本地禁用领事配置

在本地禁用领事配置
EN

Stack Overflow用户
提问于 2019-07-09 06:17:11
回答 1查看 323关注 0票数 2

我在本地创建了一个简单的micronaut应用程序,带有'consul-config‘功能。我的代码可以连接并从consul key/value存储中获取属性。我的bootstrap.yml中有以下配置

代码语言:javascript
复制
micronaut:
  application:
    name: user-service
config-client:
  enabled: true
consul:
  client:
    registration:
      enabled: true
    defaultZone: "${CONSUL_HOST:localhost}:${CONSUL_PORT:8500}"

一切都很好,但是我不想在我的本地计算机上使用consul,因为它涉及到网络活动,所以启动需要一些时间。我想要避免在本地的领事,但我需要它在开发,测试和生产环境。

我在我的应用程序中有以下代码。@Value注解将尝试加载'db-schema‘,如果没有找到,则使用'local’作为默认值。因此,如果consul被禁用,那么我的应用程序应该使用'local‘,否则它应该根据consul配置来加载值。

代码语言:javascript
复制
@Value("${db-schema:local}")
private String dbSchema;

我如何在不更改代码的情况下,只使用环境选项来实现这一点?

我尝试设置VM选项‘-Dmicronaut.config-client.enable=false’,但它仍然加载bootstrap.yml并尝试连接consul。

EN

回答 1

Stack Overflow用户

发布于 2019-07-09 10:39:27

有很多方法可以做到这一点。一种方法是创建一个类似src/main/resources/application-local.yml的文件,该文件包含以下内容:

代码语言:javascript
复制
consul:
  client:
    registration:
      enabled: false

并且在您的本地环境中使用export MICRONAUT_ENVIRONMENTS=local

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56943156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档