2017-08-10 5 views
0

Ich kann das einfachste Beispiel der Serialisierung mit Kryo auf scala nicht durchgehen. Muss ich einen bestimmten Serializer dafür registrieren? dankcom.esotericsoftware.kryo.KryoException: Klasse kann nicht erstellt werden (fehlender no-arg-Konstruktor): scala.Tuple2

val kryo = new Kryo() 
    kryo.setRegistrationRequired(false) 
    kryo.register(classOf[scala.Tuple2[Any, Any]]) 
    val intstringtuple = (100, "somestring") 
    val outStream = new ByteArrayOutputStream() 
    val output = new Output(outStream) 
    kryo.writeClassAndObject(output, obj) 
    output.flush() 
    val input = new com.esotericsoftware.kryo.io.Input(new ByteArrayInputStream(outStream.toByteArray)) 
    val obj1 = kryo.readClassAndObject(input) 

Antwort

0

so etwas wie die folgenden Hinzufügen löst das Problem:

kryo.register(classOf[scala.Tuple2[Any, Any]], new com.twitter.chill.Tuple2Serializer) 
Verwandte Themen