记一次springcloud错误org.springframework.cloud.openfeign.loadbalancer.FeignBlockingLoadBalancerClient

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'feignClient' defined in class path resource [org/springframework/cloud/openfeign/ribbon/DefaultFeignLoadBalancedConfiguration.class]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/cloud/openfeign/loadbalancer/FeignBlockingLoadBalancerClient
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:845) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877) ~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549) ~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) ~[spring-boot-2.1.7.RELEASE.jar:2.1.7.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:743) [spring-boot-2.1.7.RELEASE.jar:2.1.7.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:390) [spring-boot-2.1.7.RELEASE.jar:2.1.7.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:312) [spring-boot-2.1.7.RELEASE.jar:2.1.7.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1214) [spring-boot-2.1.7.RELEASE.jar:2.1.7.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1203) [spring-boot-2.1.7.RELEASE.jar:2.1.7.RELEASE]
	at com.cloud.Account8002.main(Account8002.java:15) [classes/:na]
Caused by: java.lang.NoClassDefFoundError: org/springframework/cloud/openfeign/loadbalancer/FeignBlockingLoadBalancerClient
	at com.alibaba.cloud.seata.feign.SeataFeignObjectWrapper.wrap(SeataFeignObjectWrapper.java:54) ~[spring-cloud-starter-alibaba-seata-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at com.alibaba.cloud.seata.feign.SeataLoadBalancerFeignClient.<init>(SeataLoadBalancerFeignClient.java:39) ~[spring-cloud-starter-alibaba-seata-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at com.alibaba.cloud.seata.feign.SeataFeignObjectWrapper.wrap(SeataFeignObjectWrapper.java:52) ~[spring-cloud-starter-alibaba-seata-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at com.alibaba.cloud.seata.feign.SeataBeanPostProcessor.postProcessBeforeInitialization(SeataBeanPostProcessor.java:36) ~[spring-cloud-starter-alibaba-seata-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:414) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1770) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
	... 15 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.springframework.cloud.openfeign.loadbalancer.FeignBlockingLoadBalancerClient
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_171]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_171]
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[na:1.8.0_171]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_171]
	... 22 common frames omitted

错误代码如上,只需在pom文件添加

 

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: org.springframework.cloud.client.loadbalancer.reactive.onnoribbondefaultcondition是Spring Cloud中的一个条件类,用于判断是否使用Ribbon作为负载均衡器的默认实现。如果没有其他负载均衡器实现,则会使用Ribbon作为默认实现。 ### 回答2: org.springframework.cloud.client.loadbalancer.reactive.onnoribbondefaultcondition是Spring Cloud中一个非常重要的负载均衡条件类。在其名称中,"onno"表示在缺少Ribbon的情况下,"defaultcondition"表示默认条件。 具体来说,当使用Spring Cloud Gateway等无Ribbon的负载均衡方式时,需要使用org.springframework.cloud.client.loadbalancer.reactive.onnoribbondefaultcondition来定义负载均衡条件。它的作用是在关闭Ribbon时,将路由请求均衡地分配到各个服务实例中。 onnoribbondefaultcondition是一个Spring Cloud的条件注解,需要在@Configuration配置类上使用它来定义负载均衡条件。通常情况下,除了Spring Cloud Gateway之外,在使用Eureka或Consul等注册中心的情况下,都需要使用Ribbon进行负载均衡。但在某些业务场景下,需要在无Ribbon的情况下实现负载均衡。这时可以在@EnableAutoConfiguration类上使用@ConditionalOnMissingBean注解,来关闭Ribbon并使用onnoribbondefaultcondition来进行负载均衡。 总之,org.springframework.cloud.client.loadbalancer.reactive.onnoribbondefaultcondition是Spring Cloud中非常重要的一个负载均衡条件类,主要用于在无Ribbon的情况下,实现服务请求的负载均衡。它的使用方式简单,可以帮助开发者轻松实现无Ribbon的负载均衡功能,为微服务架构的构建提供了更多的选择。 ### 回答3: org.springframework.cloud.client.loadbalancer.reactive.onnoribbondefaultcondition是Spring Cloud框架中的一个类,用于定义当没有Ribbon负载均衡器可用时的默认条件。 在分布式系统中,负载均衡是非常重要的一个环节,通过负载均衡可以将请求分摊到不同的服务实例上,从而避免单个服务实例压力过大。通常情况下,我们使用Ribbon作为负载均衡器,但有时候我们可能会想使用其他的负载均衡器或者直接将请求发送到具体的服务实例。这时候,就需要使用org.springframework.cloud.client.loadbalancer.reactive.onnoribbondefaultcondition这个类。 该类定义了以下条件: 1.当没有可用的Ribbon负载均衡器时,在请求发送之前不会进行任何处理,直接将请求发送给具体的服务实例。 2.当有可用的Ribbon负载均衡器时,如果服务实例列表为空,则会抛出异常。 3.当服务实例列表不为空时,将使用Ribbon负载均衡器进行负载均衡,并将请求发送到具体的服务实例上。 使用org.springframework.cloud.client.loadbalancer.reactive.onnoribbondefaultcondition可以让我们灵活的选择是否使用Ribbon负载均衡器。当我们需要使用其他负载均衡器或直接将请求发送到具体的服务实例时,可以使用该类来避免Ribbon负载均衡器带来的额外开销。同时,该类也可以帮助我们避免请求发送到不存在的服务实例上,提高系统的可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值