2011-11-04 10 views
5

私は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 
) 

ActionAgentTypeちょうど保つためにSymbol

のエイリアスを入力していますこの短い、国の定義はここにあります: https://github.com/ConnorDoyle/EnMAS/blob/master/src/main/scala/org/enmas/pomdp/State.scala

問題のないリモートアクター間でState型のオブジェクトを含むケースクラスを正常に送信しています。私はAkkaが自分の目的のために使うシリアライゼーションルーチンを手に入れる方法があるのか​​疑問に思っています。

メッセージの受け渡しを行う際のAkkaの暗黙的なシリアル化は簡単ですが、Akkaにシリアル化されたバージョンを明示的に要求していることがドキュメントから明らかです。たぶん私はドキュメントを誤解しているか、重要なものを見逃しています。

+0

あなたは、問題を説明するために、いくつかのサンプルコードをお持ちですか? –

+0

@ViktorKlang - いくつかのコードを追加して少し質問を拡大しました。見てくれてありがとう! –

答えて

関連する問題