2015-07-23 1 views
1

Хотя я зарегистрировал этотKryo Класс регистрации

private static inner class EntryWithID 

kryo бросает

java.lang.IllegalArgumentException (Класс не зарегистрирован: 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. Я делаю что-то неправильно в регистрации?

ответ

1

Вы можете включить журнал трассировки Kryo и проверить.

Поскольку Kryo использует библиотеку Minlog для ведения журнала, вы можете включить журнал уровня трассировки, добавив com.esotericsoftware.minlog.Log.TRACE(); в исходный код.

Включение журнала уровня TRACE будет распечатывать сведения обо всех классах, зарегистрированных в Kryo.