目录
本地调用
- 使用场景
本地调用使用Injvm协议,是一个伪协议,它不开启端口,不发起远程调用,只在JVM内直接关联,但执行Dubbo的Filter链。
- 配置
//定义injvm协议
<dubbo:protocol name="injvm" />
//设置默认协议
<dubbo:provider protocol="injvm" />
//为服务设置协议
<dubbo:service protocol="injvm" />
//优先使用injvm,暴露服务与引用服务都要声明injvm="true"
<dubbo:consumer injvm="true" />
<dubbo:provider injvm="true" />
<dubbo:reference injvm="true" />
<dubbo:service injvm="true" />
//从Dubbo 2.2.0开始,每个服务都会在本地暴露,引用服务的时候,默认优先引用本地服务,如果想要引用远程//服务,可以配置强制使用远程服务
<dubbo:reference scope="remote" />
参数回调
- 使用场景
参数回调方式与调用本地callback或listener相同,只需要在Spring的配置文件中声明哪个参数是callback类型即可,Dubbo将基于长连接的方式生成反向代理,这样就可以从服务端调用客户端逻辑。
- 配置
(1)共享服务接口
//服务接口实例:
public interface CallBackService{
void addListener(String key,CallbackListener listener);
}
public interface CallbackL