当前位置: 首页 > news >正文

dubbo泛化调用时transient字段失效问题

工作中发现dubbo泛化调用时结果类中的某个字段即使已经用transient修饰了,但是前端还是会有该字段展示,探究了原因如下:

  • 如果是走的泛化调用,会通过genericFilter和genericImplFilter两个类来处理序列化和反序列化,会先将结果变成map对象,然后调用底层的hessian2协议,变成map对象时使用的是PojoUtils中的generalize方法,通过读取get方法来组装map对象,不管transient字段,然后调用底层的hessian2协议后也就跟transient无关了
  • 如果走的是正常rpc调用,生成的结果在dubboCodec类中进行序列化时会走到hessian2的Hessian2Output类中的writeObject的getSerializer生成javaSerializer,在javaSerializer的构造方法中会检测字段是否有transient,有的话就不会生成该字段的序列化器,达到transient的目的
http://www.xdnf.cn/news/239059.html

相关文章:

  • 什么是基尔霍夫第一定律
  • 【python】-基础语法3
  • Semtech公司简介以及主流产品
  • C++继承(下)
  • 【补题】Codeforces Global Round 20 D. Cyclic Rotation
  • Ethan独立开发产品日报 | 2025-04-29
  • 小白学习java第15天(中):javaWeb
  • 高斯-牛顿法与列文伯格-马夸尔特法:非线性优化的理论推导与C++实现
  • Java @Transactional事物隔离级别和默认值详解
  • git did not exit cleanly (exit code 128) 已解决
  • 0基础FWT详解2(巩固)
  • Databend 产品月报(2025年4月)
  • 算法竞赛进阶指南.沙漠之王
  • 如何加速机器学习模型训练:深入探讨与实用技巧
  • Decode
  • PixONE 六维力传感器:赋能 OEM 机器人,12 自由度精准感知
  • PC端实现微信扫码登录
  • 【Android】Android签名解析
  • TEN:开启实时语音交互的下一代AI Agent引擎
  • 54.[前端开发-前端工程化]Day01-Node-Node安装-前端模块化
  • 多通道协调加载试验机
  • SpringBoot+Redis全局唯一ID生成器
  • Redis应用场景实战:穿透/雪崩/击穿解决方案与分布式锁深度剖析
  • 【数据链路层深度解析】从帧结构到协议实现
  • git 怎样把本地仓库推送到新建的远程仓库
  • 详细解释C++ 泛型模板中的完美转发(Perfect Forwarding)
  • 【自定义控件实现最大高度和最大宽度实现】
  • 2025年天梯题解(L1-8 + L2)
  • 普通IT的股票交易成长史--20250430午
  • 湖北理元理律师事务所:从法律视角看债务优化的合规实践