1
Kryoシリアライザを使用して特定の種類のリストを書き込もうとしていますが、読み書きしようとするとエラーが発生します。私が記述しようとしていますリストは私は何のArrayListまたはリストの他のタイプkryoシリアライザを使用して特定の種類のリストを書き込む方法
コード
Class FakeRegsitrator implements KryoRegistrator{
@Override
public void registerClasses(Kryo kryo) {
CollectionSerializer listSerializer = new CollectionSerializer();
listSerializer.setElementClass(A.class, kryo.getSerializer(A.class));
listSerializer.setElementsCanBeNull(false);
kryo.register(A.class, new Serializer<A>(true, true) {
public void write(Kryo kryo, Output output, A a) {
output.writeLong(a.getFieldA)
output.WriteString(a.getFieldB)
}
public A read(Kryo kryo, Input input, Class type) {
return new A(input.readLong(), input.readString())
}
}
}
かもしれタイプList<A>
であるKryoRegistrator
用のApacheのスパークによって提供されるソースを使用していますここに行方不明?
kryo.register(ArrayList.class);
in read method use
kryo.readObject(input, ArrayList.class);
in write method use
kryo.writeObject(output, entry.getArchivePortions());
: