栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

zuul Monitors.isObjectRegistered(Ljava/lang/String;Ljava/lang/Object;)Z

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zuul Monitors.isObjectRegistered(Ljava/lang/String;Ljava/lang/Object;)Z

Maven 依赖冲突问题定位与解决 1、定位问题
2022-05-21 11:39:38.712 ERROR 9248 --- [tbeatExecutor-0] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_SERVER-ZUUL/DESKTOP-KINCIJ4:server-zuul:9099 - was unable to send heartbeat!

java.lang.NoSuchMethodError: com.netflix.servo.monitor.Monitors.isObjectRegistered(Ljava/lang/String;Ljava/lang/Object;)Z
	at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.shutdown(RetryableEurekaHttpClient.java:92) ~[eureka-client-1.9.17.jar:1.9.17]
	at com.netflix.discovery.shared.transport.TransportUtils.shutdown(TransportUtils.java:40) ~[eureka-client-1.9.17.jar:1.9.17]
	at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:70) ~[eureka-client-1.9.17.jar:1.9.17]
	at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.sendHeartBeat(EurekaHttpClientDecorator.java:89) ~[eureka-client-1.9.17.jar:1.9.17]
	at com.netflix.discovery.DiscoveryClient.renew(DiscoveryClient.java:867) ~[eureka-client-1.9.17.jar:1.9.17]
	at com.netflix.discovery.DiscoveryClient$HeartbeatThread.run(DiscoveryClient.java:1436) [eureka-client-1.9.17.jar:1.9.17]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_181]
	at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) [na:1.8.0_181]
	at java.util.concurrent.FutureTask.run(FutureTask.java) [na:1.8.0_181]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_181]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_181]
	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_181]

根据错误信息,定位到具体
  • 提示:没有这个方法isObjectRegistered()
NoSuchMethodError: com.netflix.servo.monitor.Monitors.isObjectRegistered(Ljava/lang/String;Ljava/lang/Object;)Z
  • 但实际上有这个方法
  • 定位所属依赖,如下:
    发现有两个版本不同的”servo-core“ 依赖,在v0.12.21 中有该方法,但是在v0.7.2 中是没有。

    异常是从Eureka 中 的 com.netflix.discovery.DiscoveryClient 抛出,说明Eureka client 加载的是低版本的依赖,没有使用高版本的依赖。
2、解决依赖冲突
  • 我们需要将低版本的依赖给排除调就可以了。

  • 需要先找到该依赖是从哪里引入的,排除即可。

  • 1、选中异常项目,点击箭头所指

    如图:

  • 搜索冲突的依赖:Ctrl+F,选中回车,找到需要排除的版本

  • 定位所属依赖
    最终跟踪定位到 v0.7.2 属于 里面
    所以在zuul 依赖中将其排除即可。

  • 排除依赖
    选中需要排除的依赖,鼠标右键,Exclude 移除

    自动排除:

  • 完整依赖


    org.springframework.cloud
    spring-cloud-starter-netflix-zuul
    
        
            servo-core
            com.netflix.servo
        
    

  • 重启项目,问题解决
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/921560.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号