Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.bwton.tradecenter.tdbd.api.om.interfaces.BizOrderAccpetAPI': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: Incompatible fallback instance. Fallback/fallbackFactory of type class com.bwton.tradecenter.tdbd.api.om.interfaces.TdbdOrderFallbackFactory is not assignable to interface com.bwton.tradecenter.tdbd.api.om.interfaces.BizOrderAccpetAPI for feign client tdbd-om-service at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:185) at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103) at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1640) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:208) at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1316) at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1282) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1101) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:585) ... 32 common frames omitted Caused by: java.lang.IllegalStateException: Incompatible fallback instance. Fallback/fallbackFactory of type class com.bwton.tradecenter.tdbd.api.om.interfaces.TdbdOrderFallbackFactory is not assignable to interface com.bwton.tradecenter.tdbd.api.om.interfaces.BizOrderAccpetAPI for feign client tdbd-om-service at org.springframework.cloud.netflix.feign.HystrixTargeter.getFromContext(HystrixTargeter.java:100) at org.springframework.cloud.netflix.feign.HystrixTargeter.targetWithFallback(HystrixTargeter.java:85) at org.springframework.cloud.netflix.feign.HystrixTargeter.target(HystrixTargeter.java:49) at org.springframework.cloud.netflix.feign.FeignClientFactoryBean.loadBalance(FeignClientFactoryBean.java:145) at org.springframework.cloud.netflix.feign.FeignClientFactoryBean.getObject(FeignClientFactoryBean.java:166) at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:178) ... 42 common frames omitted
今天使用feign時 遇到一個問題 消費者啟動一直報bean找不到
網上找了一下,大部分都說啟動類@SpringBootApplication沒有掃描到接口類所在包,但是我按照上面說的依舊沒成功。
直到后來發現我的問題錯在哪里
錯誤展示:
接口:
回調:
錯誤原因:
fallback類型時 對應回調應該是實現BizOrderAccpetAPI接口 ,重寫方法
fallbackFactory類型時 對應回調應該是實現FallbackFactory<BizOrderAccpetAPI>接口,重寫方法
正確配置:
第一種方式:fallback
接口:
回調:
第二種方式:fallbackFactory
接口:
回調:
特此記錄