一、首先添加nacos注册发现的pom依赖

        <dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-discovery-spring-boot-starter</artifactId>
<version>0.2.3</version>
</dependency>

二、application.properties文件中添加nacos的配置

nacos.discovery.server-addr=你的nacos地址:你的nacos端口

三、在项目启动类中添加配置,启动时向nacos注册服务

    @NacosInjected
private NamingService namingService;
@Value("${spring.application.name}")
private String applicationName;
@PostConstruct
public void registerInstance() throws NacosException {
namingService.registerInstance(applicationName,"127.0.0.1",9193);
}

以上就是spring boot 的注册方式,比较简单,项目启动后注册成功

但是在第一次配置的时候发生了一些问题,项目启动报错:注册失败,然后追踪

namingService.registerInstance方法的源码,发现是调用httpclient注册的时候报错,源码中有一部分代码如下:
 public String callServer(String api, Map<String, String> params, String curServer, String method) throws NacosException {
List<String> headers = Arrays.asList("Client-Version", "Nacos-Java-Client:v0.2.1", "Accept-Encoding", "gzip,deflate,sdch", "Connection", "Keep-Alive", "RequestId", UuidUtil.generateUuid());
if (!curServer.contains(":")) {
curServer = curServer + ":" + 8848;
} String url = HttpClient.getPrefix() + curServer + api;
HttpResult result = HttpClient.request(url, headers, params, "UTF-8", method);
if (200 == result.code) {
return result.content;
} else if (304 == result.code) {
return "";
} else {
LogUtils.LOG.error("CALL-SERVER", "failed to req API:" + HttpClient.getPrefix() + curServer + api + ". code:" + result.code + " msg: " + result.content);
throw new NacosException(500, "failed to req API:" + HttpClient.getPrefix() + curServer + api + ". code:" + result.code + " msg: " + result.content);
}
}

发现,http接口的返回结果报错:cluster name can only have these characters: 0-9a-zA-Z-

查了很多资料发现是pom引入的版本问题,改为最新版本,注册成功

spring boot 向nacos注册方式,以及遇见的报错(boot!boot! 不是cloud!)的更多相关文章

  1. SpringBoot注册Windows服务和启动报错的原因

    SpringBoot注册Windows服务和启动报错的原因 Windows系统启动Java程序会弹出黑窗口.黑窗口有几点不好.首先它不美观:其次容易误点导致程序关闭:但最让我匪夷所思的是:将鼠标光标选 ...

  2. Hp电脑开机报错:no boot disk has been detected or the disk has failed

    hp主机开机报错no boot disk has been detected  or the disk has failed,重启之后没有作用,开机之后仍然是同样界面.考虑是硬盘问题,按ESC+F10 ...

  3. 【spring boot】使用注解@ConfigurationProperties读取配置文件时候 报错 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'rocketmqAutoConfiguration': Unsatisfied dependenc

    如题,配置文件如下: #注册中心配置 eureka: instance: instanceId: ${spring.application.name}:${random.int} hostname: ...

  4. 解决spring-boot配置文件使用加密方式保存敏感数据启动报错No decryption for FailsafeTextEncryptor. Did you configure the keystore correctly

    spring-boot配置文件使用加密方式保存敏感数据 application.yml spring: datasource: username: dbuser password: '{cipher} ...

  5. mutillidae之注册页面的Insert型报错注入

    http://127.0.0.1/mutillidae/index.php?page=register.php 1.注册一个用户试一试,发现页面只提示用户注册成功信息,并五其它可回显信息,果断尝试盲注 ...

  6. 关于spring boot 使用 mybatis plus INSERT的时候id报错

    mybatis plus 在INSERT的时候会默认自动设置插入id 我当时数据库采用的id自增. 在使用插入语句的时候并没有set  ID 但是它默认给了一大串 更改mybatis plus全局配置 ...

  7. STS创建spring boot项目,pom.xml文件第一行报错

    亲测能用url地址:https://blog.csdn.net/jrx1995/article/details/100008552

  8. Spring Boot 2.1.7 启动项目失败,报错: "Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured."

    一开始按照网上的很多解决办法是: 启动类头部声明@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class}),但是这样会排除 ...

  9. spring程序打包使用该插件,不然容易报错xsd找不到

    <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade ...

  10. AJAX方式发送远程请求报错:No 'Access-Control-Allow-Origin' header

    AJAX GET方式发送远程请求,chrome开发者工具console中报错:XMLHttpRequest cannot load http://www.shikezhi.com/ajax/getDa ...

随机推荐

  1. TinyVue v3.17.0 正式发布,推出了一款基于 Quill 2.0 的富文本编辑器,功能强大、开箱即用!

    你好,我是 Kagol. 我们非常高兴地宣布,2024年6月26日,TinyVue 发布了 v3.17.0 . TinyVue 每次大版本发布,都会给大家带来一些实用的新特性,上一个版本我们重构了 c ...

  2. 【转载】 关于Numpy数据类型对象(dtype)使用详解

    原文地址: https://www.cnblogs.com/dreamboy2000/p/15350478.html ========================================= ...

  3. plupload附件上传插件IE8问题

    前段时间遇到一个plupload上传插件问题,在其他浏览器上面运行很正常,但是就是在IE8上面第一次点击上传按钮无反应,后面再连续点击才ok.我的初始化代码如下 _this.uploader = ne ...

  4. JavaScript程序设计模式小技巧——策略模式,快看快用!!!

    ## 前言> 系列首发于公众号[『非同质前端札记』](https://mp.weixin.qq.com/s?__biz=MzkyOTI2MzE0MQ==&mid=2247485576&a ...

  5. brpc linux 下编译构建

    brpc 在 linux 下编译构建,比在 mac 下还要更复杂些,mac 下可以走官方说明编译成功,过程中也需要进行一些配置调整. 在 linux 通过 bazel 最终实现了 brpc 编译通过. ...

  6. Echarts 5 动态按需引入图表

    官网提供的按需引入方法为全量按需引入,在打包分离中,仍旧存在使用不到的图表被打包进去. 例如:组件A使用了折线图.柱状图,组件B只用到了折线图,但是打包组件B的时候,柱状图也就被打包进去. 本文提供一 ...

  7. C# WebSocket Fleck 源码解读

    最近在维护公司旧项目,偶然发现使用Fleck实现的WebSocket主动推送功能,(由于前端页面关闭时WebSocket Server中执行了多次OnClone事件回调并且打印了大量的关闭日志,),后 ...

  8. Ubuntu 设置中文

    首先安装中文语言包: sudo apt install -y language-pack-zh-hans 接下来在 ~/.zshrc 或 ~/.bashrc 中添加如下内容: export \ LAN ...

  9. Seata 1.3.0 Oracle 回滚测试验证 报错 ORA-02289: 序列不存在

    使用Seata 1.3.0版本,测试A服务调用B服务,且A方法中,手动写了一个异常,测试是否正常回滚(Mysql已经测试过) 发现报错:ORA-02289: 序列不存在 一看就是undo_log这张表 ...

  10. Coursera self-driving2, State Estimation and Localization Week4, LIDAR

    operating principles 工作原理 Velodyne 加州,Hokuyo 日本,SICK 德国 TOF 就是用发出去收到的时间差和光速算距离 basic LIDAR models (2 ...