java - Kryo 类(class)注册

标签 java kryo

虽然我已经注册了

private static inner class EntryWithID  

kryo抛出

java.lang.IllegalArgumentException (Class is not registered: shared.SharedObjectFactory$Segment$EntryWithID ).

kryo.register(Class.forName("shared.SharedObjectFactory$Segment$EntryWithID")); 

kryo.register(Array.newInstance(Class.forName("shared.SharedObjectFactory$Segment$EntryWithID"), 0).getClass());

我猜,问题出在深层嵌套的内部类EntryWithID上。我在注册时做错了什么吗?

最佳答案

您可以启用Kryo的跟踪日志并检查。

由于 Kryo 使用 Minlog 库进行日志记录,因此您可以通过添加 com.esotericsoftware.minlog.Log.TRACE(); 来启用跟踪级别日志。到源代码。

启用 TRACE 级别日志将打印有关在 Kryo 中注册的所有类的详细信息。

关于java - Kryo 类(class)注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31576169/

相关文章:

java - 字符匹配 DNA 程序

java - 将 kryo 对象存储在已编译的 jar 中?

java - 如何使用 Kryo 序列化 Joda-Time 的 LocalDate

java - 抛出 javax.validation.UnexpectedTypeException : HV000030 exception when validating Scala's Map with @NotEmpty

java - Eclipse 格式化程序和双括号初始化

java - 如何使用接口(interface)使用 Kryo 序列化/反序列化对象

java - SPARK 转 HBase 写入

java - Apache Kafka + Kryo 序列化

java - 在数据库中持久化时不会发生 hibernate 验证

java - Java 中的简单线程行为