挽梦赤轻歌 2024-03-31 21:29 采纳率: 0%
浏览 18

Feign的远程调用服务无法启动

img

img

Error creating bean with name 'com.wangxia.core.core.common.api.RemoteOrderService': FactoryBean threw exception on object creation
通过Feign远程调用我公共类的暴露接口时,一直提示创建不了对应的bean是为什么,已经加了@EnableFeignClients(basePackages = {"com.wangxia.core.core.common.*"}),但是好像还是没有扫描到

  • 写回答

2条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-03-31 21:29
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    这个问题出现的原因很可能是因为Feign无法扫描到指定的包路径,导致无法创建对应的bean。 解决方式:
    1. 确认代码中是否添加了Feign的注解@EnableFeignClients(basePackages = {"com.wangxia.core.core.common.*"}),并且指定了对应的包路径。
    2. 确认该包路径下是否存在符合要求的接口,可以在接口上添加注解@RemoteService,表示该接口是一个远程服务接口。
    3. 确认应用程序是否已经成功启动,并且没有其他报错信息,可以查看日志文件进行确认。
    4. 如果以上方法都无法解决问题,可以尝试手动创建对应的bean并进行注入,代码示例如下:
    @Configuration
    public class RemoteOrderServiceConfig {
        @Bean
        public RemoteOrderService remoteOrderService() {
            return Feign.builder()
                    .encoder(new JacksonEncoder())
                    .decoder(new JacksonDecoder())
                    .target(RemoteOrderService.class, "http://RemoteOrderServiceUrl");
        }
    }
    

    其中,RemoteOrderServiceUrl表示远程服务的地址。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月31日