昨天只是简单看下 nacos
同步那块代码,今天准备跑起来看看。
首先从官网下载 nacos
,nacos
下载很方便,这是 windows 下载地址。
下载解压到一个目录,当前目录打开 cmd 窗口,运行 startup.cmd -m standalone
,就可以启动 nacos
了,启动完成,浏览器访问 http://localhost:8848/nacos 即可进入 nacos
管理后台,用户名密码都是 nacos
。
nacos
服务启动后, 就去启动了 soul-admin
,soul-bootstrap
项目。
但是启动 soul-examples-http
时,发现 soul-admin
这边有报错。
后来才发现是有个bug,需要拉取最新代码。。。
更新完代码,maven
依赖下了好久。
拉完代码,发现主要是 NacosDataChangedListener
加了一段这个,避免了之前的空指针异常。
private static final String EMPTY_CONFIG_DEFAULT_VALUE = "{}";
@SneakyThrows
private String getConfig(final String dataId) {
String config = configService.getConfig(dataId, GROUP, 6000);
return StringUtils.hasLength(config) ? config : EMPTY_CONFIG_DEFAULT_VALUE;
}
但我中间调试时,发现一个很奇怪的问题,我 yml
文件里只开启了 nacos
同步数据,但 listenerers
却有两个值。这个明天调试下看看是什么问题。
我 debug 的时候,可以看到 NacosDataChangedListener
在同步数据了,configService
也可以获取到存在 nacos
的数据,更改数据时,也能更新到 jvm
内存中,但不知道为什么 nacos
管理台还是看不到数据。
今天其实也还没有跑通 nacos
,由于对这个不熟悉,踩了不少的坑,明天再详细看下具体原因。