温馨提示×

dubbo怎么调用本地服务

小亿
246
2023-11-27 21:04:41
栏目: 编程语言

要调用本地服务,可以使用Dubbo的Injvm协议。下面是一个示例代码:

  1. 首先,在provider端的配置文件中添加injvm协议:
<dubbo:protocol name="injvm" />
  1. 在provider端的服务接口上添加@Service注解,并指定protocolinjvm
@Service(protocol = "injvm")
public class DemoServiceImpl implements DemoService {
    //...
}
  1. 在consumer端的配置文件中添加injvm协议:
<dubbo:protocol name="injvm" />
  1. 在consumer端的服务接口上添加@Reference注解,并指定protocolinjvm
@Reference(protocol = "injvm")
public interface DemoService {
    //...
}
  1. 然后,在consumer端可以直接调用本地服务:
public class DemoConsumer {
    public static void main(String[] args) {
        // 创建Spring上下文
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        // 获取本地服务代理
        DemoService demoService = context.getBean(DemoService.class);
        // 调用本地服务方法
        String result = demoService.sayHello("Dubbo");
        // 打印结果
        System.out.println(result);
    }
}

这样就可以通过Dubbo调用本地服务了。

0