Сериализация в Scala / Akka

Я пишу распределенное приложение на Scala, которое использует акторы Akka. У меня есть некоторые структуры данных, которые мои удаленные субъекты успешно сериализуют, отправляют по сети и десериализовывают без какой-либо дополнительной помощи с моей стороны.

Для ведения журнала я хотел бы сериализовать класс case, содержащий эти объекты. Я читал документацию по сериализации на сайте проекта akka , но мне интересно, есть ли более простой способ сделать это, поскольку Akka, по-видимому, уже знает, как сериализовать эти объекты.


Редактировать 5 ноя 2011 в ответ на комментарий Виктора

Приложение представляет собой распределенный механизм Марковского процесса принятия решений.

Я пытаюсь сериализовать одну из следующих вещей:

case class POMDPIteration(
  observations: Set[(AgentRef, State)],
  rewards: Set[(AgentRef, Float)],
  actions: Set[(AgentRef, Action)],
  state: State
)

вот определение AgentRef:

case class AgentRef(
  clientManagerID: Int,
  agentNumber: Int,
  agentType: AgentType
)

Action и AgentType - это просто псевдонимы типа Symbol

Чтобы сделать это короче, определение состояния приведено здесь: https://github.com/ConnorDoyle/EnMAS/blob/master/src/main/scala/org/enmas/pomdp/State. scala

Я успешно отправляю классы case, содержащие объект типа State, среди удаленных субъектов без проблем.Мне просто интересно, есть ли способ получить доступ к процедурам сериализации, которые Akka использует в моих собственных целях.

Неявная сериализация Akka при передаче сообщений проста, но из документации видно, что запросить Akka сериализованную версию явно сложно. Возможно, я неправильно понял документацию или упустил что-то важное.

5
задан Connor Doyle 15 March 2012 в 20:44
поделиться