2.RMI

简介: ascasca

RMI 协议采用 JDK 标准的 java.rmi.* 实现,采用阻塞式短连接和 JDK 标准序列化方式。
注意:如果正在使用 RMI 提供服务给外部访问 1,同时应用里依赖了老的 common-collections 包 2 的情况下,存在反序列化安全风险 3

特性
连接个数:多连接
连接方式:短连接
传输协议:TCP
传输方式:同步传输
序列化:Java 标准二进制序列化
适用范围:传入传出参数数据包大小混合,消费者与提供者个数差不多,可传文件。
适用场景:常规远程服务方法调用,与原生RMI服务互操作
约束
参数及返回值需实现 Serializable 接口
dubbo 配置中的超时时间对 RMI 无效,需使用 java 启动参数设置:-Dsun.rmi.transport.tcp.responseTimeout=3000,参见下面的 RMI 配置
dubbo.properties 配置
RMI配置

XML

复制代码

1

java -Dsun.rmi.transport.tcp.responseTimeout=3000

更多 RMI 优化参数请查看 JDK 文档
接口
如果服务接口继承了 java.rmi.Remote 接口,可以和原生 RMI 互操作,即:
提供者用 Dubbo 的 RMI 协议暴露服务,消费者直接用标准 RMI 接口调用,
或者提供方用标准 RMI 暴露服务,消费方用 Dubbo 的 RMI 协议调用。
如果服务接口没有继承 java.rmi.Remote 接口:
缺省 Dubbo 将自动生成一个 com.xxx.XxxService$Remote 的接口,并继承 java.rmi.Remote 接口,并以此接口暴露服务,
但如果设置了 <dubbo:protocol name="rmi" codec="spring" />,将不生成 $Remote 接口,而使用 Spring 的 RmiInvocationHandler 接口暴露服务,和 Spring 兼容。
配置
定义 RMI 协议:

XML

复制代码

1

<dubbo:protocol name="rmi" port="1099" />

设置默认协议:

XML

复制代码

1

<dubbo:provider protocol="rmi" />

设置服务协议:

XML

复制代码

1

<dubbo:service protocol="rmi" />

多端口:

XML

复制代码

1

2

3

<dubbo:protocol id="rmi1" name="rmi" port="1099" />

<dubbo:protocol id="rmi2" name="rmi" port="2099" />

<dubbo:service protocol="rmi1" />

Spring 兼容性:

XML

复制代码

1

<dubbo:protocol name="rmi" codec="spring" />


1. 公司内网环境应该不会有攻击风险
2. dubbo 不会依赖这个包,请排查自己的应用有没有使用
3. 请检查应用:将 commons-collections3 请升级到 3.2.2
;将 commons-collections4 请升级到 4.1
。新版本的 commons-collections 解决了该问题

若有收获,就点个赞吧

油炸

相关文章
|
3月前
|
存储 人工智能 Serverless
AI时代最大的宝藏,也藏得最深:80%的企业知识沉睡在非结构化数据中
2026年AI进入应用爆发期,但非结构化数据成为瓶颈。Hologres推出AI原生新架构HSAP 2.0,融合语义搜索、多维分析与Serverless弹性,打造统一数据平面,让企业海量数据高效赋能AI,破解“数据熵”难题,支撑智能客服、销售助手等复杂场景,实现从“为人服务”到“为AI服务”的跨越。
|
4月前
|
人工智能 安全 API
上手教程:聊聊怎么用阁下AI的API
上手教程:聊聊怎么用阁下AI的API
|
3月前
|
人工智能 自然语言处理 算法
2026主流AI数字人全栈技术测评盘点:从技术落地到场景赋能
本文盘点2026年主流AI数字人全栈技术,涵盖感知、认知、生成、渲染与交互五大架构,剖析世优科技、阿里云、灵境时空等代表性品牌在政务、文旅、教育等场景的落地实践,揭示多模态大模型、情感化交互、轻量化部署等发展趋势,为行业选型提供权威参考。
|
5月前
|
域名解析 网络协议 算法
网络基础知识随记:TCP/IP 网络模型—从分层逻辑到核心知识点
本文系统梳理TCP/IP网络模型的分层架构与核心原理,涵盖应用层、传输层、网络层及网络接口层的关键协议与概念,如HTTP、TCP/UDP、IP、MAC、ARP等,解析数据封装、解封装过程及各层协作机制,帮助读者建立清晰的网络通信认知体系,掌握跨设备通信的底层逻辑。
746 9
网络基础知识随记:TCP/IP 网络模型—从分层逻辑到核心知识点
|
5月前
|
数据采集 运维 DataWorks
【赵渝强老师】阿里云大数据集成开发平台DataWorks
DataWorks是阿里云一站式大数据开发治理平台,支持数据集成、开发、建模、分析、质量监控、服务化及迁移等全链路功能,兼容多种计算引擎,助力企业高效构建数据中台,实现数据资产化与价值挖掘。
411 6
|
4月前
|
数据采集 监控 安全
2025企业如何做好数据治理:从成本中心到价值引擎的数据治理落地方案
2025年,数据治理已从合规防御转向价值赋能,成为企业创新与增长的核心引擎。本文系统解析数据治理的定义、实战路径与成功要素,结合阿里云Dataphin等案例,揭示如何通过组织协同、流程优化与技术工具,将数据转化为可信赖的战略资产,驱动业务高效决策与持续创新。
|
5月前
|
人工智能 Java 关系型数据库
IT精选面试题系列之Java(面试准备篇)
消失一年回归!前凡人程序员化身面试导师,爆肝整理高频IT面试题。首期聚焦Java,涵盖技术储备、项目包装、简历优化与话术技巧,教你从0到1拿下Offer,干货拉满,速来取经!
186 2
|
5月前
|
JSON 监控 API
淘宝天猫商品评论API,轻松采集评论数据
淘宝天猫商品评论API可获取商品评分、评论内容、晒图等结构化数据,支持分页、排序及按评价类型筛选,助力电商数据分析与口碑监控。
|
6月前
|
JSON 监控 API
虾皮 item_get 接口对接全攻略:从入门到精通
虾皮item_get接口通过商品ID获取商品详情,支持跨境分析、比价监控等场景。本文详解接口对接流程、认证机制、Python代码实现及签名生成,并涵盖多区域适配、错误处理与最佳实践,助力开发者高效稳定调用API,掌握全流程开发技巧。(238字)

热门文章

最新文章