在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  網(wǎng)絡安全/ 使用dubbo調(diào)取服務失敗時,想用Mock="true"實現(xiàn)

使用dubbo調(diào)取服務失敗時,想用Mock="true"實現(xiàn)當服務異常時,使用本地實現(xiàn)類做補償該如何配置?

本人剛接觸dubbo,想針對dubbo調(diào)取服務因網(wǎng)絡等故障失敗時這一異常做相應的補償機制------用本地接口實現(xiàn)類代替遠程接口實現(xiàn)類,在網(wǎng)上看到有用mock=“ture”的配置實現(xiàn),嘗試了一通,但是失敗了,報如下錯誤:

java.lang.IllegalStateException: Failed to check the status of the service com.dcits.jk.TJCount. No provider available for the service com.dcits.jk.TJCount from the url zookeeper://192.168.1.130:2181/com.alibaba.dubbo.registry.RegistryService?application=consumer&dubbo=2.5.3&interface=com.dcits.jk.TJCount&methods=gettotal&mock=true&pid=10528&side=consumer&timestamp=1513235485333 to the consumer 192.168.1.116 use dubbo version 2.5.3
at com.alibaba.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:420) ~[dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300) ~[dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:138) ~[dubbo-2.5.3.jar:2.5.3]

我的服務接口如下:

public interface TJCount {
    public int gettotal() throws InterruptedException;
}
當服務調(diào)取失敗時,本地接口實現(xiàn)類如下:
public class TJCountMock implements TJCount {
    public TJCountMock(){
    }
    public int gettotal() throws InterruptedException{
        return 10;
    }
}

消費者接口配置如下:

<dubbo:reference id="tjcount" interface="com.dcits.jk.TJCount" mock="true"/>

請各位賜教。。

回答
編輯回答
歆久

試試 <dubbo:reference id="tjcount" interface="com.dcits.jk.TJCount" mock="com.foo.bar.TJCountMock"/>

2018年4月24日 16:06