私はScalaでAkkaアクターを使用する分散アプリケーションを作成しています。私は、リモートの俳優が幸せにシリアル化し、電信を送信し、私の助けを借りずにシリアル化していないデータ構造をいくつか持っています。Scala/Akkaのシリアライゼーション
ログについては、これらのオブジェクトを含むケースクラスをシリアル化したいと思います。私はakka project siteのシリアライゼーションドキュメントを読んでいますが、Akkaがこれらのオブジェクトを既にシリアライズする方法を知っているので、これを簡単に行う方法があるのだろうかと疑問に思っています。
編集2011年11月5日ヴィクトルさんのコメント
に応じて、アプリケーションが配布さマルコフ決定過程エンジンです。私はこれらの事の1をシリアル化しようとしています
:ここ
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
問題のないリモートアクター間でState型のオブジェクトを含むケースクラスを正常に送信しています。私はAkkaが自分の目的のために使うシリアライゼーションルーチンを手に入れる方法があるのか疑問に思っています。
メッセージの受け渡しを行う際のAkkaの暗黙的なシリアル化は簡単ですが、Akkaにシリアル化されたバージョンを明示的に要求していることがドキュメントから明らかです。たぶん私はドキュメントを誤解しているか、重要なものを見逃しています。
あなたは、問題を説明するために、いくつかのサンプルコードをお持ちですか? –
@ViktorKlang - いくつかのコードを追加して少し質問を拡大しました。見てくれてありがとう! –