首页 > 编程语言 >java微服务的异常

java微服务的异常

时间:2024-11-06 19:43:19浏览次数:2  
标签:服务 spring boot nacos alibaba starter java 异常 cloud

1.依赖异常

须知:
【 如果项目的结构是单个模块的,需要给每个单个模块添加起步依赖 spring-boot-starter-parent,指定版本 】
【 如果项目的结构是子父模块的,只需要给父模块添加起步依赖 spring-boot-starter-parent,指定版本,所有子模块引入父模块就行 】

配置文件

  1. 你指定了该项目的启动端口号是 8080
  2. 你使用了阿里的 nacos 注册中心组件,定义了服务名 weather-service ,及其 Nacos注册中心的地址及端口号 localhost:8848
  3. 定义了集群 cluster-name :SH
  4. 定义了隔离空间 namespace:bf 6106 fa-ed 78-4 a 43-bf 22-779594 e 16 a 4 c

依赖文件

  1. 这里你可以看出该项目的结构是单个模块, 所以得加起步依赖 spring-boot-starter-parent,指定版本
  2. 这里使用了 nacos 注册中心,得加 spring-cloud 依赖和 spring-cloud-alibaba 依赖 , spring-cloud-alibaba 是根据 spring-cloud 开发的,所以使用 spring-cloud-alibaba 的所有组件都必须添加 spring-cloud 依赖,还得加 spring-cloud-starter-alibaba-nacos-discovery nacos 的注册中心依赖
  3. 而底下使用了 <dependencyManagement> <dependencies> 标签 spring-cloud-alibaba-dependencies ,spring-cloud-dependencie 统一了其组件下所有的依赖版本
server:  
  port: 8080  
  
spring:  
  
  #注册服务到Nacos  
  application:  
    name: weather-service #服务名  
  
  cloud:  
    nacos:  
      discovery:  
        server-addr: localhost:8848 #Nacos注册中心的地址及端口号  
        cluster-name: SH  
        namespace: bf6106fa-ed78-4a43-bf22-779594e16a4c     
<?xml version="1.0" encoding="UTF-8"?>  
<project xmlns="http://maven.apache.org/POM/4.0.0"  
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
    <modelVersion>4.0.0</modelVersion>  
  
    <groupId>cn.itcast</groupId>  
    <artifactId>xiaohua-service</artifactId>  
    <version>1.0-SNAPSHOT</version>  
    <packaging>jar</packaging>  
    <!--  
    war: 传统web项目  
    jar(默认):java项目   spring boot项目统一打包方式jar  
    pom:父工程-->  
  
  
    <!--jdk编译版本-->  
    <properties>  
        <java.version>1.8</java.version>  
    </properties>  
    <!--spring boot父工程-->  
    <parent>  
        <groupId>org.springframework.boot</groupId>  
        <artifactId>spring-boot-starter-parent</artifactId>  
        <version>2.3.4.RELEASE</version>  
        <relativePath/> <!-- lookup parent from repository -->  
    </parent>  
  
  
    <dependencies>  
  
<!--        导入nacos注册中心组件-->  
        <dependency>  
            <groupId>com.alibaba.cloud</groupId>  
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>  
        </dependency>  
  
  
        <!--spring boot整合junit起步依赖-->  
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-test</artifactId>  
            <scope>test</scope>  
            <exclusions>                <exclusion>  
                    <groupId>org.junit.vintage</groupId>  
                    <artifactId>junit-vintage-engine</artifactId>  
                </exclusion>  
            </exclusions>  
        </dependency>  
        <!--spring boot整合springmvc起步依赖-->  
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-web</artifactId>  
        </dependency>  
        <!--spring boot整合mp起步依赖-->  
        <dependency>  
            <groupId>com.baomidou</groupId>  
            <artifactId>mybatis-plus-boot-starter</artifactId>  
            <version>3.4.2</version>  
        </dependency>  
        <!--lombok依赖-->  
        <dependency>  
            <groupId>org.projectlombok</groupId>  
            <artifactId>lombok</artifactId>  
        </dependency>  
        <!--fastjson的依赖-->  
        <dependency>  
            <groupId>com.alibaba</groupId>  
            <artifactId>fastjson</artifactId>  
            <version>1.2.76</version>  
        </dependency>  
        <!--apache工具包,提供大量工具类,简化操作,eg:判断字符串是否为""字符串...  
            StringUtils.isEmpty()            StringUtils.isBlank()        -->        <dependency>  
            <groupId>commons-lang</groupId>  
            <artifactId>commons-lang</artifactId>  
            <version>2.6</version>  
        </dependency>  
        <!--mysql驱动-->  
        <dependency>  
            <groupId>mysql</groupId>  
            <artifactId>mysql-connector-java</artifactId>  
            <scope>runtime</scope>  
        </dependency>  
        <!--durid连接池依赖-->  
        <dependency>  
            <groupId>com.alibaba</groupId>  
            <artifactId>druid-spring-boot-starter</artifactId>  
            <version>1.1.23</version>  
        </dependency>  
  
        <dependency>            <groupId>com.alibaba.cloud</groupId>  
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>  
        </dependency>  
  
  
    </dependencies>  
  
    <dependencyManagement>        <dependencies>  
            <dependency>  
                <groupId>org.springframework.cloud</groupId>  
                <artifactId>spring-cloud-dependencies</artifactId>  
                <version>Greenwich.RELEASE</version>  
                <type>pom</type>  
                <scope>import</scope>  
            </dependency>  
            <dependency>                <groupId>com.alibaba.cloud</groupId>  
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>  
                <version>2.1.0.RELEASE</version>  
                <type>pom</type>  
                <scope>import</scope>  
            </dependency>  
        </dependencies>  
  
    </dependencyManagement>  
  
    <build>        <plugins>  
            <!--spring boot项目打jar包插件  
                只有引入该插件,打成jar包才可以使用java -jar 运行  
            -->  
            <plugin>  
                <groupId>org.springframework.boot</groupId>  
                <artifactId>spring-boot-maven-plugin</artifactId>  
                <version>2.4.5</version>  
            </plugin>  
        </plugins>  
    </build>  
</project>

2. Nacos 程序没启动

问题

当 Nacos 程序没启动时/ Nacos 没有指定单体启动时(Nacos 默认集群启动) ,会导致 Nacos 服务启动失败

2024-11-02 00:08:41.354 ERROR 37164 --- [           main] c.a.c.n.registry.NacosServiceRegistry    : nacos registry, weather-service register failed...NacosRegistration{nacosDiscoveryProperties=NacosDiscoveryProperties{serverAddr='localhost:8848', endpoint='', namespace='', watchDelay=30000, logName='', service='weather-service', weight=1.0, clusterName='DEFAULT', namingLoadCacheAtStart='false', metadata={preserved.register.source=SPRING_CLOUD}, registerEnabled=true, ip='192.168.240.94', networkInterface='', port=8080, secure=false, accessKey='', secretKey=''}},

java.lang.IllegalStateException: failed to req API:/nacos/v1/ns/instance after all servers([localhost:8848]) tried: failed to req API:localhost:8848/nacos/v1/ns/instance. code:500 msg: java.net.ConnectException: Connection refused: connect

解决方案

  1. 查找 nacos 是否启动
  1. 启动 Nacos 服务,指定其单体执行

3. Linux 的静态 ip 失效

查询 ip addr ,静态ip 没分配

尝试重启网络,无效果

解决方案如下

标签:服务,spring,boot,nacos,alibaba,starter,java,异常,cloud
From: https://www.cnblogs.com/xwdzj/p/18530908

相关文章

  • Java超类与子类
    //角色packageex1;publicclassCharacter{privatefinalStringname;//角色名字privateinthp;//角色血量publicstaticintcharactsum=0;//统计次数privatestaticStringcharmask="普通角色";//角色的职业publicCharacter......
  • Java面向对象进阶学习一
    this关键字使用this使用的变量时属性,没有使用的是形参this可以调用结构,成员变量,方法this的理解,当前对象(在方法中调用时),或当前正在创建的对象(在构造器中调用时)针对方法内的使用情况一般情况下,我们通过对想a调用方法,可以在方法内调用当前对象a的属性或其他的方法,此时,我们可......
  • 5.Java 数组(一维数组、二维数组、数组实例实操)
    一、数组1、基本介绍【数据类型】[]【数组名】=new【数据类型】[【长度】];【数据类型】[]【数组名】={【元素1】,【元素2】...};【数据类型】[]【数组名】=new【数据类型】[]{【元素1】,【元素2】...};数组中的元素可以是任何数据元素,包括基本类......
  • LeetCode100之接雨水(42)--Java
    1.问题描述        给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。        示例1输入:height=[0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组[0,1,0,2,1,0,1,3,2,1,2,1]表示的高度图,在这种情况下......
  • 【Java SE语法】抽象类(abstract class)和接口(interface)有什么异同?
    目录1.抽象类与接口的基本概念1.1 抽象类1.2接口2.抽象类与接口的异同2.1相同点2.2不同点3.拓展知识:多态与设计模式3.1多态3.2设计模式4.结论        在软件工程中,设计模式和代码结构的选择对于构建可维护、可扩展的系统至关重要。抽象类(Abstrac......
  • Java网络安全常见面试题
    列举常见的WEB攻击,及解决方案一、SQL注入1、什么是SQL注入攻击者成功的向服务器提交恶意的SQL查询代码,程序在接收后错误的将攻击者的输入作为查询语句的一部分执行,导致原始的查询逻辑被改变,额外的执行了攻击者精心构造的恶意代码。2、如何预防SQL注入使用预编译语句(Prepa......
  • 站长推荐使用站群服务器的原因
    站长推荐使用站群服务器的原因主要包括以下几点:1.性能要求:站群服务器需要支持大量的访问流量,高性能的硬件配置可以确保站群的系统稳定性和SEO效果。高性能的CPU、大容量内存和高速的固态硬盘是推荐的配置。2.IP资源:站群网站的发展需要大量的IP支持。美国站群服务器的IP资......
  • 全面解析shfusion.dll:Shell融合服务故障应对与恢复指南
    shfusion.dll是Windows系统中的一个重要动态链接库(DynamicLinkLibrary,简称DLL)文件,它主要负责提供WindowsShell与.NETFramework之间的集成服务。以下是对shfusion.dll的全面解析,包括其功能、故障应对以及恢复指南。一、shfusion.dll的功能shfusion.dll作为.NETFramework......
  • Java键盘录入
    键盘录入next()、nextLine()可以接受任意数据,但是都会返回一个字符串;nextInt()只能接受整数,键盘录入小数或者其他字母,就会报错;nextDouble()能接收整数和小数,但是都会看做小数返回,录入字母会报错。注意:next()、nextInt()、nextDouble()在接收数据的时候,会遇到空格,回车,制表符......
  • java计算机毕业设计基于的大学宿舍管理系统(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着大学教育的不断发展,高校规模日益扩大,学生数量不断增加,传统的宿舍管理方式面临着巨大的挑战。传统的手工登记和管理模式存在效率低下、信息容......