Kryo 2.22 ライブラリを使用してオブジェクトをファイルにシリアル化しています (パフォーマンスのために UnsafeInput/Output を使用しています)。
私のオブジェクトには、1 つの文字列を含む多くのフィールドが含まれています。この文字列が 35 文字以内であれば問題ありません。これを 2 倍にして 70 文字までにすると、ファイルから逆シリアル化するときに次の例外が発生します。
Exception in thread "main" com.esotericsoftware.kryo.KryoException: Encountered unregistered class ID: 63
Serialization trace:
handCards (vo.ShortHandVO)
at com.esotericsoftware.kryo.util.DefaultClassResolver.readClass(DefaultClassResolver.java:119)
文字列の長さを 2 倍にするときは、最初のコンテンツをコピーしただけです (つまり、追加の特殊文字は導入されていません)。
したがって、私の最初の推測では、オブジェクト サイズの増加に関連しているということでした。Kryo バッファー サイズを 2 倍にしましたが、それでも例外がスローされます。
私は今、問題を見つけるのに何時間も費やしており、絶望的になっています。ヒント/提案をいただければ幸いです。
どうもありがとう、トーマス
更新:ようやく問題が見つかりました: 子クラスをシリアル化し、親クラスを逆シリアル化していました。役に立たなかったのは、Kryo が矛盾して例外をスローすることです (この場合、文字列のサイズに依存していました)。