@Component
public class NacosServerInitConfig implements ApplicationListener<ContextRefreshedEvent> {
//等同spring.application.name 配置文件中所写可以试着写死
@Value("${heartbeat.application.name}")
private String heartbeatName;
//nacos的服务地址
@Value("${spring.cloud.nacos.discovery.server-addr}")
private String serverAddr;
@Value("${heartbeat.port}")
private Integer port;
//nacos的用户名称
@Value("${spring.cloud.nacos.discovery.username}")
private String username;
//nacos的用户密码
@Value("${spring.cloud.nacos.discovery.password}")
private String password;
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
try {
//获取nacos服务
Properties properties=new Properties();
properties.setProperty("server-addr",serverAddr);
properties.setProperty("serverAddr",serverAddr);
//没有密码就给下面这两行删除
properties.setProperty("username", username);
properties.setProperty("password",password);
//获取nacos 服务实例
NamingService namingService = NacosFactory.createNamingService(properties);
//将示例注册进注册中心中 ip要获取部署服务器的ip 不然 nacos 无法转发
namingService.registerInstance(heartbeatName, "127.0.0.1", port);
} catch (Exception e){
log.error("nacos注册时异常",e);
}
}
}
java 手动注册到 nacos 非springboot 注入
最新推荐文章于 2024-09-07 17:39:29 发布