Я пытаюсь сериализовать экземпляр класса Scala с помощью Kryo через библиотеку chill-scala Twitter. Это из библиотеки (внешней банки), и, как мне кажется, ее нужно зарегистрировать в Kryo.Регистрация класса с Kryo через twitter chill-scala
Как зарегистрировать класс для сериализации класса с помощью chill-scala?
Вот ядро моего кода, основанного главным образом на изучении набора тестов chill-scala.
// This is from the chill-scala test suite
def serialize[T](t: T): Array[Byte] = ScalaKryoInstantiator.defaultPool.toBytesWithClass(t)
def deserialize[T](bytes: Array[Byte]): T =
ScalaKryoInstantiator.defaultPool.fromBytes(bytes).asInstanceOf[T]
/**
* Save a value in cache.
*/
def save[T](key: String, value: T, expiration: Int = 0): Future[T] = {
cache.put(key, serialize[T](value), expiration, TimeUnit.SECONDS)
Future.successful(value)
}
/**
* Finds a value in the cache.
*/
def find[T: ClassTag](key: String): Future[Option[T]] = Future {
val result = deserialize[T](cache.get(key).asInstanceOf[Array[Byte]])
Option(result)
}
Когда я бегу, он бросает
com.esotericsoftware.kryo.KryoException: Unable to find class: <name_of_external_class>
В более общем плане, есть документация где-нибудь о том, как использовать холод-Скала? Авторы этого пакета, очевидно, выполнили значительную работу, и я видел ряд положительных ссылок на него - но никакой документации.
Спасибо за любые указатели,
Byron