2017-08-10 323 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) 
相關問題