RMI 协议采用 JDK 标准的 java.rmi.* 实现,采用阻塞式短链接和 JDK 标准序列化方式。java
注意:若是正在使用 RMI 提供服务给外部访问,同时应用里依赖了老的 common-collections 包的状况下,存在反序列化安全风险。spring
特性安全
约束tcp
dubbo.properties 配置ide
dubbo.service.protocol=rmi
RMI配置spa
java -Dsun.rmi.transport.tcp.responseTimeout=3000
接口code
若是服务接口继承了 java.rmi.Remote 接口,能够和原生 RMI 互操做,即:blog
若是服务接口没有继承 java.rmi.Remote 接口:继承
配置接口
定义 RMI 协议:
<dubbo:protocol name="rmi" port="1099" />
设置默认协议:
<dubbo:provider protocol="rmi" />
设置服务协议:
<dubbo:service protocol="rmi" />
多端口:
<dubbo:protocol id="rmi1" name="rmi" port="1099" /> <dubbo:protocol id="rmi2" name="rmi" port="2099" /> <dubbo:service protocol="rmi1" />
Spring 兼容性:
<dubbo:protocol name="rmi" codec="spring" />