今天在项目中遇到一个奇葩问题。问题描述:项目基于dubbo服务做的模块多个项目模块通过maven构建依赖,其中有几个模块一个是算法转换服务A另一个模块是通用配置模块B,一个是config服务C。他们通过接口相互依赖,A在调用C服务redis存取服务把对象序列化和反序列化存放到redis中其中序列化对象在B模块中是没有问题但是在C服务上的对象序列化就存在问题取出的对象始终是HashMap这就奇怪了,在把一个对象序列化到Redis存储其中对象序列化使用protobuf对象序列化和反序列化。这里存在的问题分析:protobuf在对象序列化的时候最终转换为byte存放redis中,在反序列化的时候由于protobuf找不到反序化的类类型,这里为了保证能够反序列化成功protobuf把对象值取出最终以HashMap的key和value存放值。为了解决此问题最好是在序列化和反序列化时需要让protobuf知道我们的对象类型,这就需要把相应的序列化对象引入到相应序列化项目包中我们通过maven依赖。
- 浏览: 938488 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (453)
- Windows phone 7 (0)
- Andriod (47)
- iPhone (1)
- Web (30)
- J2EE (34)
- stucts 2学习笔记 (34)
- 开发项目 (3)
- spring学习笔记 (24)
- EJB学习笔记 (6)
- Hibernate学习笔记 (15)
- JPA学习笔记 (8)
- Jsp (11)
- ajax (7)
- 异常收集模块 (1)
- jquery (2)
- phoneGap (2)
- jquery Mobile (0)
- java面试总结 (5)
- Object-C (0)
- javascript (6)
- Eclipse (5)
- 支付集成 (2)
- Weblogic (1)
- Dubbox (5)
- Redis (10)
- linux (21)
- Codis (2)
- React Native (0)
- Mysql (6)
- Docker (3)
- 自动化部署 (1)
- 项目Bug管理平台 (2)
- 负载均衡 (1)
- Mycat (2)
- Java基础知识 (16)
- 数据库 (7)
- Maven (17)
- Kafka (21)
- logs (2)
- 大并发 (2)
- 消息中间件 (2)
- 分布式锁 (3)
- 算法 (4)
- 数字证书原理,公钥私钥 (0)
- 数字证书原理 (1)
- 公钥私钥 (1)
- zookeeper (4)
- Hbase (9)
- Hadoop (2)
- storm (2)
- 通信协议 (1)
- Hive (3)
- git (1)
- JVM (2)
- 大数据相关算法 (1)
- idea (5)
- 将博客搬至CSDN (1)
- 设计模式 (2)
- 表达式 (1)
- 代码审查工具 (0)
- 开源项目 (1)
- PyCharm (0)
- python (6)
- Kubernetes (1)
- swagger (1)
- Maven中mirrors和repository的关系 (0)
- RabbitMQ (3)
- redisson (1)
- k8s (2)
- Mac (1)
最新评论
-
misisipi101:
假设库已经分为32个,那么要扩展到64个,怎样做呢
订单分库分表实践总结以及关键步骤 -
mfkxk298:
简单明了的例子,解决了问题,谢谢啦!
关于ListView中notifyDataSetChanged()刷新数据不更新原因 -
whbwang:
" target="_blank" ...
java web开发 高并发处理 -
suguoqian:
...
java web开发 高并发处理 -
xiangnanyujing:
Dubbox+Redis3.0+Spring+Hibernate+zookeeper实现消息推送核心搭建
发表评论
-
轻松看懂Java字节码
2018-04-09 10:28 620计算机只认识0和1。这意味着任何语言编写的程序最终都 ... -
happens-before俗解
2018-04-09 10:03 595学习Java并发,到后面总会接触到happens-befor ... -
位与&,位或|,位异或^运算
2018-04-04 17:25 624一.按位与运算符 参加运算的两个数据,按二进制位进行位与 ... -
Java中>>、>>>、<<
2018-04-04 14:47 429定义: 右移动>>:带符号右移。正数右移高位 ... -
在Java中谈尾递归--尾递归和垃圾回收的比较
2017-08-29 17:49 459转载请注明:博客园- ... -
hotspot的垃圾回收策略,设置和调优
2017-01-11 18:48 1895我们都知道JVM内存由几个部分组成: Java栈、程序计数器 ... -
两点距离计算
2016-11-05 18:03 549public class DistanceUtil { pr ... -
Protostuff对象序列化工具
2016-06-08 09:53 1812VO.java import java.io.Serial ... -
高性能序列化、反序列化protostuff 使用
2016-06-07 16:45 30371、引用jar包: pom.xml: <!-- p ... -
Java调用bat文件和exe文件
2016-01-12 11:09 955public static void main(String ... -
Dubbox+Redis3.0+Spring+Hibernate+zookeeper实现消息推送核心搭建
2015-12-30 15:55 10542这里在开始搭建环境之前请搭建先熟悉了解Dubbox、Red ... -
网站集成ueditor+上传文件到共享盘
2015-12-10 13:47 1957这里给大家分享下载使用ueditor使用心得, ... -
java 实现微信搜索附近人功能
2015-03-25 18:07 4931最近给andorid做后台查询数据功能,有一个需求是模仿微信 ... -
重庆APP开发 重庆Android 重庆Ios 爬虫科技 重庆爬虫科技
2014-10-06 12:03 9<!--[if gte mso 9]><x ... -
JCIFS--java通过域登录实现单点登录
2014-09-04 15:38 4154JCIFS--java通过域登录实现单点登录 ... -
JPA 去除重复列数据
2013-12-30 15:31 11187//清除重复列 Session sessi ... -
使用Eclipse构建Maven的SpringMVC项目
2013-12-12 13:05 988使用Eclipse构建Maven的Spri ... -
Ehcache 整合Spring 使用页面、对象缓存
2013-12-12 13:04 1291Ehcache 整合Spring 使用页面、对象缓存 E ... -
Spring mvc整合hibernate例子
2013-12-11 13:42 1183企业级项目实战(带源码)地址: http://zz563143 ... -
Apache2.2.11+Tomcat6.0 集群配置 总结
2013-01-17 16:13 1259最近公司需要配置集群 在网上找了很多的资料 都没有怎么个成功 ...
相关推荐
protobuf序列化和反序列化技术是大数据处理领域中不可或缺的一部分,尤其在实时大数据场景下,高效的数据传输和存储对性能有着直接影响。谷歌推出的Protocol Buffers(简称protobuf)是一种语言无关、平台无关的数据...
Protocol Buffers(Protobuf)是一种高效、跨平台的数据序列化协议,由Google开发。本Demo将展示如何在Unity中集成并使用Protobuf进行数据的序列化和反序列化操作。 首先,你需要了解什么是序列化和反序列化。序列...
`SerializeToString`方法将消息对象序列化成字符串`message`。 ### 2. 反序列化 反序列化则是将二进制流恢复为结构化数据的过程。protobuf提供了相应的API来完成这一操作: ```cpp // C++ 示例 MyMessage my_...
本篇文章将深入探讨在Unity5中如何使用Protocol Buffers(简称Protobuf)进行序列化和反序列化操作,以及它如何解决跨平台解析问题。 1. **什么是Protobuf?** Protocol Buffers是Google推出的一种高效的数据序列...
ProtoBuf(Protocol Buffers)是Google推出的一种数据序列化协议,它能够将结构化的数据序列化,可用于数据存储、通信协议等方面。ProtoBuf的优势在于它提供了高效、紧凑的二进制编码方式,相比XML或JSON等文本格式...
1. **序列化与反序列化**:创建一个对象实例,然后使用BinaryFormatter和ProtoBuf的相应方法进行序列化和反序列化。注意,ProtoBuf需要定义数据结构的.proto文件,并通过编译工具生成对应的C#类。 2. **压缩与解...
在接收到消息时,使用protobuf的`Message.toByteArray()`方法将Java对象序列化为字节数组,然后通过Netty的ByteBuf传递给客户端。反之,对于客户端,接收到字节数组后,使用protobuf的`Message.parseFrom(byte[])`...
Protocol Buffers(protobuf)是Google推出的一种高效、跨平台的数据序列化协议,它可以替代XML、JSON等传统序列化方式,提供更小、更快、更简单的解决方案。 protobuf的工作原理是定义一种结构化的数据格式,即....
protobuf是一种高效的数据序列化协议,它允许开发者将结构化的数据转换为二进制流,以便在网络传输或存储时占用更少的空间。这个压缩类可能是为了在处理protobuf数据时进一步优化存储效率,通过压缩技术减少数据体积...
此外,Protobuf-Net还支持流操作,可以直接将对象序列化到文件或网络流中。 总结来说,C# Protobuf-Net 序列化是一个强大的工具,提供高效、小巧的二进制序列化方案,适合在各种C#应用程序中使用。通过理解和熟练...
**Python调用序列化数据工具Protocol Buffers(protobuf)详解** Protocol Buffers是Google开发的一种高效的数据序列化协议,它允许开发者将结构化的数据串行化,可用于数据存储、通信协议等方面。Python作为一门...
首先下载protobuf库,可以用Nuget。 demo: using System; namespace Tools { public class BufHelp { /// /// 对象锁 /// private readonly static Object Locker = new Object(); ///// ///// 读写...
ProtoBuf是Google开发的一种数据序列化协议,可以将结构化数据序列化为二进制格式,以便于存储和网络传输。相比于JSON和XML,ProtoBuf的数据体积更小,解析速度更快。`proto.exe`是ProtoBuf的编译器,它可以将....
protobuf是Google开发的一种高效、灵活、跨平台的数据序列化协议,它允许开发者将结构化的数据序列化,可以用于网络通信、数据存储等场景。在Java环境中,protobuf提供了对应的库,即protobuf-java,使得开发者能够...
本工具正是为了解决在Unity5环境中,使用Protobuf进行Android和iOS平台的泛型列表参数的正反序列化问题。 首先,我们需要理解什么是序列化和反序列化。序列化是将对象转换为可传输或存储的格式,而反序列化则是将...
4. 实现消息生产:在SpringBoot应用中创建一个生产者,使用KafkaTemplate发送ProtoBuf序列化的UserMessage对象。 5. 实现消息消费:创建一个Kafka监听器,用于接收和处理消费端接收到的ProtoBuf消息,反序列化后进行...
1. 复杂类型的处理:除了基本类型外,还可以序列化和反序列化自定义类、结构体以及容器(如vector、map等)。对于自定义类型,通常需要重载`operator和`operator>>`,或者使用nlohmann/json库中的`to_json`和`from_...
总结,Java对象的序列化和反序列化是Java开发中不可或缺的一部分,理解并熟练掌握这些技术可以帮助我们更好地处理数据存储和传输的问题。在实际操作时,应根据具体需求选择合适的方法,并注意相关的安全和性能问题。
"spdatapickle-0.5"这个文件可能是一个开源库或者框架,用于实现C语言中的序列化和反序列化功能。版本号"0.5"表明这是一个相对成熟但仍在改进中的项目,可能包含了一些基本功能和优化。使用这样的库,开发者可以定义...