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,所以不在此方法过多展开。
=====================分割线=========================
文章到此已经结束,以下是紫薯布丁
# 则在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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
MyBatis-Plus联表查询(Mybatis-Plus-Join)的功能实现
mybatis-plus作为mybatis的增强工具,简化了开发中的数据库操作,这篇文章主要介绍了MyBatis-Plus联表查询(Mybatis-Plus-Join),需要的朋友可以参考下2022-08-08JavaWeb应用实例:用servlet实现oracle 基本增删改查
本篇文章主要介绍了JavaWeb应用实例:用servlet实现oracle 基本增删改查,非常具有实用价值,需要的朋友可以参考下。2017-01-01SpringBoot任意版本集成Swagger各种版本的操作指南
在学习Swagger生成API文档的时候经常会遇到问题,而目前市面上大部分技术分享者的SpringBoot版本并没和我们的同步,导致一些一模一样的代码,在我们的项目上却无法使用,这是一个经常性的问题,本文章就旨在和大家搞定SpringBoot任意版本集成Swagger各种版本2024-07-07解决spring boot网关gateway导致的坑,无法下载文件问题
这篇文章主要介绍了解决spring boot网关gateway导致的坑,无法下载文件的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-07-07
最新评论