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" />