2012-04-12 3 views
2

以下のように、リモートアクターをredis耐久性のあるメールボックスで使用するように設定します。リモートアクターと耐久性のあるメールボックスを使用したAkka

common.confファイル:

akka { 
    actor { 
     mailbox { 
      redis { 
       hostname = "127.0.0.1" 
       port = 6379 
       } 
     } 
    provider = "akka.remote.RemoteActorRefProvider" } 

    remote {netty {hostname = "127.0.0.1" }} 
} 

と私のapplication.confファイル:

calculatorActor {include "common"} 
remotecreation { 
include "common" 
akka { 
    actor { 
     deployment { 
     /advancedCalculator { 
      router = "round-robin" 
      nr-of-instances = 200 
      target { 
      nodes = ["akka://[email protected]:2552"] 
      } 

     } 
     } 
    } 
    remote.netty.port = 2554 
    } 
} 

これは設定ですがアッカ・サンプル - リモートから導出されます。アプリケーションを実行すると、私はredis側(耐久性のあるメールボックス!)に行ったことはありません。レディスログに含まれるのは、

0 clients connected (0 slaves) 
+0

だけで簡単な質問をあなたはすでにこれを求めてきましたので、。同じ名前を持つ2人のリモートアクターは、同じredisインスタンスを使用している場合にメールボックスを共有しますか? –

答えて

5

正しいメールボックスタイプのディスパッチャを指定する必要があります。ドキュメントから

my-dispatcher { 
    mailbox-type = akka.actor.mailbox.RedisBasedMailboxType 
} 

、その後はこのディスパッチャを使用して俳優を作成します。

val myActor = system.actorOf(Props[MyActor].withDispatcher("my-dispatcher"), name = "myactor") 
関連する問題