阅读量:3
要调用本地服务,可以使用Dubbo的Injvm
协议。下面是一个示例代码:
- 首先,在provider端的配置文件中添加
injvm
协议:
<dubbo:protocol name="injvm" />
- 在provider端的服务接口上添加
@Service
注解,并指定protocol
为injvm
:
@Service(protocol = "injvm") public class DemoServiceImpl implements DemoService { //... }
- 在consumer端的配置文件中添加
injvm
协议:
<dubbo:protocol name="injvm" />
- 在consumer端的服务接口上添加
@Reference
注解,并指定protocol
为injvm
:
@Reference(protocol = "injvm") public interface DemoService { //... }
- 然后,在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调用本地服务了。