springboot 去掉netflix 禁用Eureka的解决方法

 更新时间:2023年09月19日 14:54:26   作者:globalcoding  
这篇文章主要介绍了springboot 去掉netflix 禁用Eureka的解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

报错

如果你接手别人的项目,启动的时候会一直报这个错:发现有netflix,eureka相关字眼,

2023-09-13 16:25:47.875 [] [] [main] ERROR com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient -Request execution error. endpoint=DefaultEndpoint{ serviceUrl='http://localhost:8761/eureka/'}
com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
    at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187)
    at com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:123)
    at com.netflix.discovery.EurekaIdentityHeaderFilter.handle(EurekaIdentityHeaderFilter.java:27)
...
2023-09-13 16:25:47.875 [] [] [main] ERROR 
com.netflix.discovery.shared.transport.TransportException: 
Cannot execute request on any known server

但你项目只是一个简单的springboot项目,不是微服务(因为上面这些都是微服务相关组件)。你想去掉netflix相关组件,或者禁用eureka。

解决方法

方法一:去掉maven依赖

报上面的错,通常是因为pom文件里有eureka的依赖。

pom.xml里注释掉下面这个依赖,注释完记得reload一下maven(右上角会出现刷新图标)

         <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

 去掉maven依赖后,项目中可能会有一些报错。

 例如启动类,需要注释掉@EnableEurekaClient

@SpringBootApplication
//@EnableEurekaClient
public class Application {}

还有可能使用到了eureka的一些类,例如我项目里用到了aop的aspectj。

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
@Aspect
@Pointcut(value = "execution(public * com.alibaba.yun.controller..*Controller.*(..))")

可以引入springboot的aop依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>

方法二:直接在application配置文件里禁用eureka(偷懒方法)

如果你只是简单维护别人的项目,并不想像上面那样动静太大,那就直接用这个偷懒的办法,直接在配置文件禁用eureka即可。 

# 是否将自己注册到 Eureka-Server 中,默认true
eureka.client.register-with-eureka=false
# 是否需要拉取服务信息,默认true
eureka.client.fetch-registry=false

方法三:检查eureka配置的地址是否正确(确实需要使用eureka)

如果你确实需要使用eureka,那就配置eureka正确的地址即可(问同事要)。

# 则在Eureka服务发现应该配置为:
# http://127.0.0.1:8080/eureka/
server.port: 8080
eureka.client.serviceUrl.defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

因为我这篇文章是如何禁用eureka,所以不在此方法过多展开。

netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server_globalcoding的博客

=====================分割线=========================

文章到此已经结束,以下是紫薯布丁

# 则在Eureka服务发现应该配置为:
# http://127.0.0.1:8080/eureka/
server.port: 8080
eureka.client.serviceUrl.defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

# 是否将自己注册到 Eureka-Server 中,默认true
eureka.client.register-with-eureka=false
# 是否需要拉取服务信息,默认true
eureka.client.fetch-registry=false
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
@Aspect
@Pointcut(value = "execution(public * com.alibaba.yun.controller..*Controller.*(..))")
@SpringBootApplication
//@EnableEurekaClient
public class Application {}
         <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

2023-09-13 16:25:47.875 [] [] [main] ERROR com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient -Request execution error. endpoint=DefaultEndpoint{ serviceUrl='http://localhost:8761/eureka/'}
com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
    at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187)
    at com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:123)
    at com.netflix.discovery.EurekaIdentityHeaderFilter.handle(EurekaIdentityHeaderFilter.java:27)
2023-09-13 16:25:47.875 [] [] [main] ERROR 
com.netflix.discovery.shared.transport.TransportException: 
Cannot execute request on any known server

到此这篇关于springboot 去掉netflix 禁用Eureka的文章就介绍到这了,更多相关springboot 禁用Eureka内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java任意长度byte数组转换为int数组的方法

    Java任意长度byte数组转换为int数组的方法

    这篇文章主要给大家介绍了关于Java任意长度byte数组转换为int数组的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-07-07
  • SpringBoot一个请求的处理全过程分享

    SpringBoot一个请求的处理全过程分享

    本文详细介绍了SpringBoot请求处理的全过程,包括过滤器链、拦截器链、路径映射、参数绑定、Controller方法执行、返回值处理、异常解析和视图解析渲染等步骤,同时,文中还列举了请求处理过程中常见的问题及解决方案
    2024-12-12
  • SpringMVC中的ResourceUrlProviderExposingInterceptor详解

    SpringMVC中的ResourceUrlProviderExposingInterceptor详解

    这篇文章主要介绍了SpringMVC中的ResourceUrlProviderExposingInterceptor详解,ResourceUrlProviderExposingInterceptor是Spring MVC的一个HandlerInterceptor,用于向请求添加一个属性,需要的朋友可以参考下
    2023-12-12
  • SpringBoot+SseEmitter和Vue3+EventSource实现实时数据推送

    SpringBoot+SseEmitter和Vue3+EventSource实现实时数据推送

    本文主要介绍了SpringBoot+SseEmitter和Vue3+EventSource实现实时数据推送,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-03-03
  • java实现对Hadoop的操作

    java实现对Hadoop的操作

    这篇文章主要介绍了java实现对Hadoop的操作,通过非常完整详细的代码展示了如何去进行一系列操作,包括基本操作,文件读写,需要的朋友可以参考下
    2021-07-07
  • java中log使用小结

    java中log使用小结

    本文主要介绍了java中log使用小结,一文搞清楚java所有日志框架,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09
  • SpringBoot个性化配置的方法步骤

    SpringBoot个性化配置的方法步骤

    这篇文章主要介绍了SpringBoot个性化配置的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • Java包装类的缓存机制原理实例详解

    Java包装类的缓存机制原理实例详解

    这篇文章主要介绍了Java包装类的缓存机制原理实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • SpringBoot 监听Redis键过期事件(过期监听)

    SpringBoot 监听Redis键过期事件(过期监听)

    Redis键过期事件是SpringBoot中常用的缓存失效通知方式,通过配置可以监听特定键的过期事件,具有一定的参考价值,感兴趣的可以了解一下
    2024-12-12
  • java中pdf转图片的实现方法

    java中pdf转图片的实现方法

    下面小编就为大家带来一篇java中pdf转图片的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12

最新评论