2017-08-10 207 views
0

我无法通过在scala上使用Kryo进行序列化的最简单示例。 我需要为此注册一个特定的序列化程序吗? 感谢com.esotericsoftware.kryo.KryoException:无法创建类(缺少无参数构造函数):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) 

回答

0

添加类似下面的解决了这个问题:

kryo.register(classOf[scala.Tuple2[Any, Any]], new com.twitter.chill.Tuple2Serializer) 
相关问题