dubbo怎么调用本地服务
要调用本地服务,可以使用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调用本地服务了。