在部署bladex第一个服务就报错了
首先看一下官方给的启动顺序
工程启动顺序
- 先启动
redis
、mysql
、nacos
、sentinel
等基础服务 - 启动除
blade-gateway
之外的项目 - 最后启动
blade-gateway
说的好像很有道理的样子,但是各种报错。
官方需要依赖nacos,且nacos是2.0版本以上,远程nacos也开了8848、9848和9849,但是启动报错127.0.0.1:8848,很迷....
找了半天看了一下加载的地方,找到问题了。
这里我配置的非127.0.0.1 但是加载出来确实127.0.0.1
继续跟进,找到原因,这个地方有个判断,如果有了就不会改
解决办法,先删除key,再添加回去就ok了
public class LauncherServiceImpl implements LauncherService {
@Override
public void launcher(SpringApplicationBuilder builder, String appName, String profile) {
Properties props = System.getProperties();
//先移除 再添加 我本地死活加载不了就是这个原因 当然本地的nacos就不会有问题
props.remove("spring.cloud.nacos.discovery.server-addr");
props.remove("spring.cloud.nacos.config.server-addr");
props.remove("spring.cloud.sentinel.transport.dashboard");
props.remove("spring.zipkin.base-url");
PropsUtil.setProperty(props, "spring.cloud.nacos.discovery.server-addr", LauncherConstant.nacosAddr(profile));
PropsUtil.setProperty(props, "spring.cloud.nacos.config.server-addr", LauncherConstant.nacosAddr(profile));
PropsUtil.setProperty(props, "spring.cloud.sentinel.transport.dashboard", LauncherConstant.sentinelAddr(profile));
PropsUtil.setProperty(props, "spring.zipkin.base-url", LauncherConstant.zipkinAddr(profile));
}
}
记录下Bladex的学习历程。
不喜勿喷