apollo ctrip java 接入

简介: apollo ctrip java 接入

1.pom

<dependency>
            <groupId>com.ctrip.framework.apollo</groupId>
            <artifactId>apollo-client</artifactId>
            <version>1.7.0</version>
</dependency>
<dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.6.6</version>
</dependency>

2.配置文件

META-INF/app.properties

app.id=SampleApp

3.代码

package com.vince.xq;
import com.ctrip.framework.apollo.Config;
import com.ctrip.framework.apollo.ConfigChangeListener;
import com.ctrip.framework.apollo.ConfigService;
import com.ctrip.framework.apollo.model.ConfigChange;
import com.ctrip.framework.apollo.model.ConfigChangeEvent;
public class MavenTest {
    private static String value = null;
    public static void init() {
        System.setProperty("apollo.meta", "http://localhost:8080");
        Config config = ConfigService.getAppConfig(); //config instance is singleton for each namespace and is never null
        String someKey = "timeout";
        String someDefaultValue = "someDefaultValueForTheKey";
        value = config.getProperty(someKey, someDefaultValue);
        config.addChangeListener(new ConfigChangeListener() {
            @Override
            public void onChange(ConfigChangeEvent changeEvent) {
                System.out.println("Changes for namespace " + changeEvent.getNamespace());
                for (String key : changeEvent.changedKeys()) {
                    ConfigChange change = changeEvent.getChange(key);
                    if (key.equals(someKey)) {
                        value = change.getNewValue();
                        System.out.println(String.format("Found change - key: %s, oldValue: %s, newValue: %s, changeType: %s", change.getPropertyName(), change.getOldValue(), change.getNewValue(), change.getChangeType()));
                    }
                }
            }
        });
    }
    public static void main(String[] args) throws InterruptedException {
        init();
        while (true) {
            Thread.sleep(1000);
            System.out.println(value);
        }
    }
}

4.打印结果

 


相关文章
|
4月前
|
存储 监控 安全
Java安全配置管理
本文介绍了Java应用中安全配置管理的最佳实践,包括配置文件分离、敏感信息加密、配置验证、运行时配置管理和最佳实践总结。通过这些方法,可以有效提升应用配置的安全性和可维护性。具体措施包括按环境分离配置文件、使用加密工具保护敏感信息、实施配置验证和变更监控等。
199 2
|
7月前
|
NoSQL Java Redis
【Azure Spring Cloud】Java Spring Cloud 应用部署到Azure上后,发现大量的 java.lang.NullPointerException: null at io.lettuce.core.protocol.CommandHandler.writeSingleCommand(CommandHandler.java:426) at ... 异常
【Azure Spring Cloud】Java Spring Cloud 应用部署到Azure上后,发现大量的 java.lang.NullPointerException: null at io.lettuce.core.protocol.CommandHandler.writeSingleCommand(CommandHandler.java:426) at ... 异常
Java SpringBoot集成WebSocket
Java SpringBoot集成WebSocket
|
Java 关系型数据库 数据库
Java 基于 SpringBoot 的书籍学习平台
Java 基于 SpringBoot 的书籍学习平台
|
人工智能 运维 监控
Java智慧工地云平台源码(微服务+Java+Spring Cloud +UniApp +MySql)
Java智慧工地云平台源码(微服务+Java+Spring Cloud +UniApp +MySql)
491 0
java对接webservice服务实现推送
前不久接到一个任务需要将我们平台的内容推送到第三方的一个webService服务中,我们平台接口使用java来做的,所以需要通过java调用webService服务实现推送效果,不多说直接上干货。
|
Java 中间件
java中间件
java中间件
java中间件
JAVA+SpringBoot框架+SaaS模式云HIS源码
云HIS融合B/S版电子病历系统,支持电子病历四级,HIS与电子病历系统均拥有自主知识产权。
174 0
|
前端开发 Java Linux
非java异构服务如何集成到SpringCLoud集群中
一个项目可能由于各种原因会存在多个语言编写的系统同时存在,但主项目如果采用的SpringCloud框架的话就无法通过微服务方式访问其他的异构系统,因此SpringCloud 生态圈给我们提供了很好的插件式服务,利用 sidecar 我们也可以轻松方便的集成异构系统到我们自己的系统来。
176 0
|
Java 测试技术 应用服务中间件

热门文章

最新文章