dubbo怎么調(diào)用本地服務(wù)

小億
240
2023-11-27 21:04:41

要調(diào)用本地服務(wù),可以使用Dubbo的Injvm協(xié)議。下面是一個(gè)示例代碼:

  1. 首先,在provider端的配置文件中添加injvm協(xié)議:
<dubbo:protocol name="injvm" />
  1. 在provider端的服務(wù)接口上添加@Service注解,并指定protocolinjvm
@Service(protocol = "injvm")
public class DemoServiceImpl implements DemoService {
    //...
}
  1. 在consumer端的配置文件中添加injvm協(xié)議:
<dubbo:protocol name="injvm" />
  1. 在consumer端的服務(wù)接口上添加@Reference注解,并指定protocolinjvm
@Reference(protocol = "injvm")
public interface DemoService {
    //...
}
  1. 然后,在consumer端可以直接調(diào)用本地服務(wù):
public class DemoConsumer {
    public static void main(String[] args) {
        // 創(chuàng)建Spring上下文
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        // 獲取本地服務(wù)代理
        DemoService demoService = context.getBean(DemoService.class);
        // 調(diào)用本地服務(wù)方法
        String result = demoService.sayHello("Dubbo");
        // 打印結(jié)果
        System.out.println(result);
    }
}

這樣就可以通過(guò)Dubbo調(diào)用本地服務(wù)了。

0