记一个nacos/openfeign遇到的问题,找到解决方法,但是不知原因

Posted 万载小笼包

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一个nacos/openfeign遇到的问题,找到解决方法,但是不知原因相关的知识,希望对你有一定的参考价值。

在alibaba cloud 中引入了nacos组件后,main方法启动的时候,出现了报错。

在网上百度了原因,有三种方法

1、将main放置与controller包 同级 可以解决

2、在main文件中加入

@SpringBootApplication(scanBasePackages = "包名")

3、创建一个

@Configuration
public class IClientConfig 
 
    @Bean
    public DefaultClientConfigImpl iClientConfig()
        return new DefaultClientConfigImpl();
    

使用第三种方法后 项目可以正常启动,但是当引入了openFeign之后,在调用nacos提供者接口的时候,报错了

java.lang.NullPointerException: null
	at org.springframework.cloud.openfeign.ribbon.FeignLoadBalancer.<init>(FeignLoadBalancer.java:76) ~[spring-cloud-openfeign-core-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at org.springframework.cloud.openfeign.ribbon.CachingSpringLoadBalancerFactory.create(CachingSpringLoadBalancerFactory.java:64) ~[spring-cloud-openfeign-core-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at org.springframework.cloud.openfeign.ribbon.LoadBalancerFeignClient.lbClient(LoadBalancerFeignClient.java:120) ~[spring-cloud-openfeign-core-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at org.springframework.cloud.openfeign.ribbon.LoadBalancerFeignClient.execute(LoadBalancerFeignClient.java:82) ~[spring-cloud-openfeign-core-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:110) ~[feign-core-10.4.0.jar:na]

网上搜寻解决办法的时候,发现是由于手动创建了一个 IClientConfig类,导致feign找不到namespace。所以,第三种方法是不能用的。

最终的结论,如果想nacos+openFeign 就要使用第二种方法,毕竟把main放到包的最内层去也不是正常的写法。

但是为什么第三种方法不行,第二种方法可以,我也不知道原因。

当然也有可能 我的pom引入的版本不对 导致会出现这情况。如果有人知道原因,可以告诉我下。谢谢。

我项目目前的pom版本

 <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.2.3.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
<!--spring boot 2.2.2-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.2.2.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--spring cloud Hoxton.SR1-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Hoxton.SR8</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

以上是关于记一个nacos/openfeign遇到的问题,找到解决方法,但是不知原因的主要内容,如果未能解决你的问题,请参考以下文章

记一个nacos/openfeign遇到的问题,找到解决方法,但是不知原因

记遇到的一个php坑

Java面试的过程中,遇到很多方向和很多问题,应该怎么学习?

SpringCloud笔记

记SpringBoot项目长时间未访问,出现页面找不到的问题

记一下mybatis中foreach循环遇到的一个小问题