欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Dubbo学习(一)——关闭服务检查

程序员文章站 2022-04-15 19:11:46
一、搭建测试环境1 将对消费者方法的调用语句注释掉,使消费者暂时不调用消费者方法public class ConsumerRun { public static void main(String[] args) { ApplicationContext ac = new ClassPathXmlApplicationContext("spring-consumer.xml"); SomeService service = (....

一、搭建测试环境

1 将对消费者方法的调用语句注释掉,使消费者暂时不调用消费者方法 

public class ConsumerRun {
    public static void main(String[] args) {
        ApplicationContext ac =
                new ClassPathXmlApplicationContext("spring-consumer.xml");
        SomeService service = (SomeService) ac.getBean("someService");
//        String hello = service.hello("China");
//        System.out.println(hello);
    }
}

 

2 运行测试

Dubbo学习(一)——关闭服务检查

3 修改配置文件

Dubbo学习(一)——关闭服务检查

4 再次运行

正常

二、分析

    默认情况下,若服务消费者先于服务提供者启动,则消费者端会报错。因为默认情况下 消费者会在启动时查检其要消费的服务的提供者是否已经注册,若未注册则抛出异常。可以 在消费者端的 spring 配置文件中添加 check=”false”属性,则可关闭服务检查功能

Dubbo学习(一)——关闭服务检查

只要注意启动顺序,该属性看似可以不使用。但在循环消费场景下是必须要使用的。即 A 消费 B 服务,B 消费 C 服务,而 C 消费 A 服务。这是典型的循环消费。在该场景下必须至 少有一方要关闭服务检查功能,否则将无法启动任何一方。 

 

本文地址:https://blog.csdn.net/xyajia/article/details/107677754

相关标签: dubbo