当前位置: 首页 > 知识库问答 >
问题:

如何在Hazelcast中使用kryo实现多个序列化器?

宋飞文
2023-03-14

我有一个现有的域模型,我不想改变与Hazelcast的工作。为此,我想使用StreamSerializer接口和Kryo。我查看了https://github.com/hazelcast/hazelcast-book-examples/blob/master/ch章-serialization/kryo-serializer/src/main/java/personkryoserializer.java example(或类似的http://blog.hazelcast.com/2013/10/16/kryo-serializer/),但我想知道如何继续为其他类添加更多的序列化程序。

是否宜再次使用ThreadLocal构造创建一个新的StreamSerializer类?这意味着,将再次创建一个新的Kryo对象,可以吗?还是在整个应用程序中只有1个kryo对象更好?

有些类没有默认构造函数,我如何适应它?

共有1个答案

严开宇
2023-03-14

我会创建一个包含Kryo对象(和thradlocal)的超类,并在其上为每个实体创建一个子类。

 类似资料:
  • 我正在尝试配置序列化程序实例,以便在storm拓扑中使用。 非常感谢

  • null 但是,当我以Yar-Client模式提交Spark应用程序时,抛出了以下异常: 线程“main”org.apache.spark.sparkException:Task not serializable at org.apache.spark.util.closureCleaner$.ensureRecleaner.ccala:166)at org.apache.spark.util.c

  • 我正在尝试使用kryo序列化和反序列化到二进制。我想我已经完成了序列化,但似乎无法反序列化。下面是我正在处理的代码,但最终我想存储一个字节[],然后再次读取它。文档只显示了如何使用文件。

  • 问题内容: Kryo是一个非常新的有趣的Java序列化库,并且是节俭的protobuf基准测试中最快的库之一。如果您使用过Kryo,它是否已经成熟到可以在生产代码中试用的程度? 更新(10/27/2010): 我们正在使用Kryo,尽管尚未投入生产。请参阅下面的详细信息。 更新(3/9/2011): 更新到最新的Jackson和Kryo​​库表明,Jackson的二进制Smile序列化非常有竞争力

  • 我对Kafka和克里奥很陌生。我一直在使用默认的Kafka序列化器处理Kafka上的简单字符串消息,但我试图使用Kryo序列化,但没有成功。 谁能解释一下或者给我看一个用kryo序列化(生产者和消费者)通过Kafka发送java对象的例子吗?

  • 我用这个打开了kryo连载: 我希望确保当在节点之间洗牌时,使用kryo对自定义类进行序列化。我可以通过以下方式向kryo注册该类: 但这会导致IllegalArugmentException被抛出(“class未注册”),用于我假设Spark在内部使用的一系列不同类,例如: 当然,我不必用Kryo手动注册这些单独的类?这些序列化程序都是在kryo中定义的,那么有没有一种方法可以自动注册所有的序列