acm java_ACM Java Native SDK 概述
示例代码
添加依赖后,即可在程序中使用 ACM Java Native SDK 提供的接口。
说明 请将代码中的 $regionId、$endpoint、$namespace、$accessKey、$secretKey 分别替换为 ACM 控制台上命名空间详情对话框内的地域 ID、End Point、命名空间 ID、AccessKey、SecretKey。
import java.util.Properties;
import com.alibaba.edas.acm.ConfigService;
import com.alibaba.edas.acm.exception.ConfigException;
import com.alibaba.edas.acm.listener.ConfigChangeListener;
import com.alibaba.edas.acm.listener.PropertiesListener;
// 示例代码,仅用于示例测试
public class ACMTest {
// 属性/开关
private static String config = "DefaultValue";
private static Properties acmProperties = new Properties();
public static void main(String[] args) {
try {
// 从控制台命名空间管理中拷贝对应值
Properties properties = new Properties();
properties.put("endpoint", "$endpoint");
properties.put("namespace", "$namespace");
// 通过 ECS 实例 RAM 角色访问 ACM
// properties.put("ramRoleName", "$ramRoleName");
properties.put("accessKey", "$accessKey");
properties.put("secretKey", "$secretKey");
// 如果是加密配置,则添加下面两行进行自动解密
//properties.put("openKMSFilter", true);
//properties.put("regionId", "$regionId");
ConfigService.init(properties);
// 主动获取配置
String content = ConfigService.getConfig("${dataId}", "${group}", 6000);
System.out.println(content);
// 初始化的时候,给配置添加监听,配置变更会回调通知
ConfigService.addListener("${dataId}", "${group}", new ConfigChangeListener() {
public void receiveConfigInfo(String configInfo) {
// 当配置更新后,通过该回调函数将最新值返回给用户。
// 注意回调函数中不要做阻塞操作,否则阻塞通知线程。
config = configInfo;
System.out.println(configInfo);
}
});
/**
* 如果配置值的內容为properties格式(key=value),可使用下面监听器。以便一个配置管理多个配置项
*/
/**
ConfigService.addListener("${dataId}", "${group}", new PropertiesListener() {
@Override
public void innerReceive(Properties properties) {
// TODO Auto-generated method stub
acmProperties = properties;
System.out.println(properties);
}
});
**/
} catch (ConfigException e) {
e.printStackTrace();
}
// 测试让主线程不退出,因为订阅配置是守护线程,主线程退出守护线程就会退出。 正式代码中无需下面代码
while (true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
// 通过get接口把配置值暴露出去使用
public static String getConfig() {
return config;
}
// 通过get接口把配置值暴露出去使用
public static Object getPorpertiesValue(String key) {
if (acmProperties != null) {
return acmProperties.get(key);
}
return null;
}
}
acm java_ACM Java Native SDK 概述相关推荐
- Android JNI(Java Native Interface)技术介绍
Android平台上的JNI技术介绍 JUL 15TH, 2013 | COMMENTS NDK简介 Android是由Google领导开发的操作系统,Android依靠其开放性,迅速普及,成为目前最 ...
- java native 关键字
今天在看Javase中的classLoder类的源码时,发现一直找不到 private native final Class<?> findLoadedClass0(String name ...
- 蚂蚁区块链第15课 JS SDK概述及API接口速查
1,摘要 本文讲解蚂蚁BAAS的JavaScript SDK概述,说明JS SDK对应的API接口速查.其他语言包SDK参考官网其他章节说明即可. 2,JS SDK 说明 JavaScript SDK ...
- HiCar SDK概述
HiCar SDK概述 HUAWEI HiCar SDK 是 HUAWEI HiCar(以下简称 HiCar )为汽车硬件设备提供的软件开发工具包,为汽车硬件厂商接入 HiCar 提供应用 API 接 ...
- java native
引用:http://www.blogjava.net/shiliqiang/articles/287920.html JNI是Java Native Interface的 缩写.从Java 1.1开始 ...
- ACM中java的使用
ACM中java的使用 转载自http://www.cnblogs.com/XBWer/archive/2012/06/24/2560532.html 这里指的java速成,只限于java语法,包括输 ...
- POPTEST老李谈JVM、JRE、JDK、java ee sdk with jdk区别
POPTEST老李谈JVM.JRE.JDK.java ee sdk with jdk区别 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作 ...
- Java Native Interface 六JNI中的异常
本文是<The Java Native Interface Programmer's Guide and Specification>读书笔记 在这里只讨论调用JNI方法可能会出现的异常, ...
- 【转】JNI(Java Native Interface)的简介
因为刚刚接触android和java平台,对JNI到底是什么,还不是很了解,所以从CSDN转载了一篇文章,以便自己对JNI有一个认识,也跟大家分享一下. JNI是Java Native Interfa ...
最新文章
- 关于学习Python的一点学习总结(23->while语句与else)
- iOS32位唯一标识符
- 基于Keras搭建cifar10数据集训练预测Pipeline
- 怎样通过css控制table的部分td
- Spring Cloud Alibaba:Sentinel 流控规则
- linux__ftp
- yum的基本使用(命令+案列)
- armboot和内核文件系统烧写总结
- AcWing 1913. 公平摄影(前缀和+STL)
- Apple 官方文档翻译:NSURLSession
- Vim 配置详解_wuyang
- bxp客户端手工PNP基本过程(转)
- 【BZOJ1502】【NOI2005】月下柠檬树
- 编译google test 源码
- 2019提前批——拼多多笔试题
- 关于上传文件的报错问题
- js字段名下划线命名转驼峰,驼峰转下划线
- 机器人门禁控制盒怎么接线方法_门禁控制器怎么接线_门禁控制器接线图说明 - 全文...
- java项目中使用Sigar获取系统信息
- 星球福利 | 读书的季节,送上豆瓣 Top10 区块链书单
热门文章
- 创建JPA工程时提示:at least one user library must be selected
- linux合并vi的两个文件,两个文件的对比查看及合并工具:vimdiff-文件合并
- 自定义LocaleResolver实现页面中英文切换
- RabbitMQ(六)整合SpringBoot
- php java if_phpjava(二)
- linux 文件服务,Linux操作系统之文件服务(ftp、nfs)
- poi插入图片浮于文字上方_Word插入手写签名
- flutter嵌入HTML5页面,Flutter加载Html并实现与JS 的双向调用
- 阿里云叔同:以容器为代表的云原生技术,已成为释放云价值的最短路径
- 从零开始入门 K8s | 可观测性:你的应用健康吗?