java.lang.IllegalStateException: No fallbackFactory instance of type class


1,微服務之間是通過Fegin進行調用,創建了一個調用接口,當開啟熔斷機制之后,會造成無法啟動和編譯

2,托底函數 問題就出現在托底函數上面

 1 @FeignClient(name = "service-vod",fallback = VodFileDegradeFeignClient.class)
 2 @Component
 3 public interface VodClient {
 4 
 5     /**
 6      * 根據視頻id刪除網絡視頻,(遠程調用)
 7      * @param videoId
 8      * @return
 9      */
10     @DeleteMapping("/eduvod/video/delete/{videoId}")
11     R removeVideo(@PathVariable("videoId") String videoId);
12 
13 
14     /**
15      * 根據id列表刪除網絡視頻,(遠程調用)
16      * @param videoIdList
17      * @return
18      */
19     @DeleteMapping("/eduvod/video/deleteBatch")
20     R deleteBatch(@RequestParam("videoIdList") List<String> videoIdList);
21 
22 }

3,報錯情況,原因是找不到托底函數

1 Caused by: java.lang.IllegalStateException: No fallback instance of type class com.jouyo.eduservice.client.VodFileDegradeFeignClient found for feign client service-vod
2     at org.springframework.cloud.openfeign.HystrixTargeter.getFromContext(HystrixTargeter.java:81)
3     at org.springframework.cloud.openfeign.HystrixTargeter.targetWithFallback(HystrixTargeter.java:72)
4     at org.springframework.cloud.openfeign.HystrixTargeter.target(HystrixTargeter.java:49)
5     at org.springframework.cloud.openfeign.FeignClientFactoryBean.loadBalance(FeignClientFactoryBean.java:253)
6     at org.springframework.cloud.openfeign.FeignClientFactoryBean.getTarget(FeignClientFactoryBean.java:282)
7     at org.springframework.cloud.openfeign.FeignClientFactoryBean.getObject(FeignClientFactoryBean.java:262)
8     at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:171)
9     ... 59 common frames omitted

4,解決方案,在你的遠程調用實現類上加上注解

1 @Service 2 public class VodFileDegradeFeignClient implements VodClient {
3     //*********
4 }    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM