Dubbo学习(一)——关闭服务检查
程序员文章站
2022-07-10 18:50:42
一、搭建测试环境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 运行测试
3 修改配置文件
4 再次运行
正常
二、分析
默认情况下,若服务消费者先于服务提供者启动,则消费者端会报错。因为默认情况下 消费者会在启动时查检其要消费的服务的提供者是否已经注册,若未注册则抛出异常。可以 在消费者端的 spring 配置文件中添加 check=”false”属性,则可关闭服务检查功能
只要注意启动顺序,该属性看似可以不使用。但在循环消费场景下是必须要使用的。即 A 消费 B 服务,B 消费 C 服务,而 C 消费 A 服务。这是典型的循环消费。在该场景下必须至 少有一方要关闭服务检查功能,否则将无法启动任何一方。
本文地址:https://blog.csdn.net/xyajia/article/details/107677754