dubbo icon indicating copy to clipboard operation
dubbo copied to clipboard

This serialization only support google protobuf object, the object class is: java.lang.String

Open zhangqingyango opened this issue 2 years ago • 11 comments

Environment

  • Dubbo version: 3.1.3
  • Java version: 8

image

泛化调用异常,PB 文件泛化调用

zhangqingyango avatar Dec 22 '22 01:12 zhangqingyango

image

zhangqingyango avatar Dec 22 '22 01:12 zhangqingyango

@AlbumenJ 求教

zhangqingyango avatar Dec 23 '22 09:12 zhangqingyango

https://github.com/apache/dubbo-samples/blob/master/3-extensions/serialization/dubbo-samples-protobuf-json/protobuf-json-serialization-demo/src/main/java/org/apache/dubbo/sample/protobuf/genericCall/GenericClient.java 基于这个用例修改了下,我这边是可以正常使用的

Dubbo 3.1.4, Triple 协议

AlbumenJ avatar Jan 03 '23 08:01 AlbumenJ

我把代码拉了下来,改了下注册中心,还是跑不通 image 这个是nacos 提供者信息 image

zhangqingyango avatar Jan 05 '23 06:01 zhangqingyango

找到了类似问题,按照描述中添加依赖后就会报标题错误,https://github.com/apache/dubbo/issues/11129

zhangqingyango avatar Jan 05 '23 06:01 zhangqingyango

我把代码拉了下来,改了下注册中心,还是跑不通 image 这个是nacos 提供者信息 image

你修改的内容可以提个 patch 吗,我复现下

AlbumenJ avatar Jan 05 '23 12:01 AlbumenJ

附件的 protobuf-json-provider-generic-demo 新建了一个demo ,注册到nacos。引用了,3-extensions 中protobuf-json-serialization-api模块

3-extensions 中修改了以下内容 1、dubbo.version 3.1.4

  1. 加了一个nacos、一个protobuf 序列化依赖

3、修改了GenericClient  改了注册中心

------------------ 原始邮件 ------------------ 发件人: "apache/dubbo" @.>; 发送时间: 2023年1月5日(星期四) 晚上8:21 @.>; @.@.>; 主题: Re: [apache/dubbo] This serialization only support google protobuf object, the object class is: java.lang.String (Issue #11189)

我把代码拉了下来,改了下注册中心,还是跑不通 这个是nacos 提供者信息

你修改的内容可以提个 patch 吗,我复现下

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

zhangqingyango avatar Jan 06 '23 01:01 zhangqingyango

我在邮件中修改的内容,回复了你,请注意查收

zhangqingyango avatar Jan 06 '23 01:01 zhangqingyango

我在邮件中修改的内容,回复了你,请注意查收

可以在 github 上面直接上传吗,没看到附件

AlbumenJ avatar Jan 09 '23 11:01 AlbumenJ

https://github.com/zhangqingyango/dubbo-protobuf-json-demo.git

zhangqingyango avatar Jan 10 '23 02:01 zhangqingyango

上传了,看下这个地址能不能看到

zhangqingyango avatar Jan 10 '23 02:01 zhangqingyango

我来看看

aamingaa avatar Feb 14 '23 17:02 aamingaa

请问这个问题是已经处理好了吗@aamingaa

zhangqingyango avatar Mar 13 '23 06:03 zhangqingyango

这个问题社区已经讨论过了,protobuf其实不适合泛化,它在设计之初就希望两端通信是有确定的实体存在,dubbo侧不应该帮用户兜这个底,将选择权交由用户。建议尝试下用prefer-serialization配置下其他序列化方式进行泛化调用呢。 https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/upgrades-and-compatibility/serialization-upgrade/#%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5

aamingaa avatar Mar 14 '23 02:03 aamingaa

好的,了解

zhangqingyango avatar Mar 14 '23 02:03 zhangqingyango

使用了一种取巧的方式,利用dubbo-compiler 项目将proto文件打包成java service 文件时,增加一个新的方法如下: image 通过dubbo 默认序列化进行json 泛化调用

zhangqingyango avatar Mar 14 '23 11:03 zhangqingyango