apollo java_Apollo在Java中的使用

本文详细介绍了如何在普通Java项目和Spring Boot中集成并使用Apollo配置中心,包括添加Maven依赖、配置Meta Server、APPid、Environment,以及监听配置变化事件的方法。同时,展示了在Spring Boot中使用Placeholder、Java Config和@ConfigurationProperties注入配置的示例。
摘要由CSDN通过智能技术生成

本节主要讲解在普通的 Java 项目和 Spring Boot 中如何使用 Apollo。

普通 Java 项目中使用

加入 Apollo Client 的 Maven 依赖,代码如下所示。

com.ctrip.framework.apollo

apollo-client

1.1.0

使用 API 的方式来获取配置,具体代码如下所示。

public class App { public static void main(String[] args) { Config config = ConfigService.getAppConfig(); String key = "username"; String defaultValue = "张三"; String username = config.getProperty(key, defaultValue); System.out.println("username=" + username); } }

通过 ConfigService 得到 Config 对象,config.getProperty() 方法可以传入你想获取的配置 Key,defaultValue 是当配置中心找不到配置的时候返回的默认值,避免空指针异常。

运行上面这段代码,输出的结果是默认值“张三”。因为我们还没有指定 Apollo 需要的一些必要信息,这些信息包括 Meta Server、AppId 和 Environment。Cluster 可以不用指定,用默认即可。

1. Meta Server 配置

Apollo 支持应用在不同的环境中有不同的配置,所以需要运行提供给 Apollo 客户端当前环境的 Apollo Meta Server 信息。

在默认情况下,meta server 和 config service 是部署在同一个 JVM 进程里的,所以 meta server 的地址就是 config service 的地址。

目前我们用的快速启动包只有一个 DEV 环境,config service 的地址是 http://localhost:8080,这个已经在启动脚本 demo.sh 中定义好了。

为了能够让示例代码在各位读者的电脑上也能直接运行,我们将配置定在 classpath:/META-INF/app.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java使用Apollo是为了实现微服务配置文件的统一管理。Apollo是一个开源的配置心,它提供了一种方便的方式来管理和配置微服务的各种环境变量、数据库连接等配置信息。 首先,Java使用Apollo可以实现配置文件的集化存储和统一管理。传统的方式是将配置文件分散存储在各个微服务的代码,当需要修改配置时,需要找到对应的配置文件进行修改,然后重新打包发布。而使用Apollo,可以将配置文件集存储在Apollo服务器,默认支持版本控制,方便团队成员协同修改配置。 其次,Java使用Apollo可以实现配置文件的动态更新。传统的方式是修改配置文件后,需要重新部署整个微服务才能生效。而Apollo提供了实时推送配置变更的功能,只需要在Apollo服务器上修改配置,就可以自动通知到各个微服务,实现配置的实时更新,无需重启服务。 另外,Java使用Apollo还可以实现配置的灰度发布和回滚。通过在Apollo服务器上管理配置的版本,可以方便地进行配置的灰度发布和回滚操作。比如,可以先将新的配置发布到部分微服务进行测试,再逐步扩大范围进行全量发布,如果出现问题,可以快速回滚到之前的配置版本,确保服务的稳定性。 总之,Java使用Apollo可以简化微服务的配置管理,提高配置的可维护性和可管理性,同时也提供了配置的动态更新和灰度发布等功能,让配置的变更更加灵活和快速。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值