本人刚接触dubbo,想针对dubbo调取服务因网络等故障失败时这一异常做相应的补偿机制------用本地接口实现类代替远程接口实现类,在网上看到有用mock=“ture”的配置实现,尝试了一通,但是失败了,报如下错误:
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;
}
当服务调取失败时,本地接口实现类如下:
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"/>请各位赐教。。