2017-04-08 12 views
0

Akkaアクターを使用してJavaで構築されたプレイアプリケーションがあります。最近、並列性に関するパフォーマンス上の問題が発生しました。 Googleを経由して、カスタム/固定のディスパッチャ/エグゼクティブを俳優に割り当てることができることがわかりました。俳優の作成時に、俳優の名前に一意のIDが付けられた俳優の名前を付けました。UUIDで名前を付けるとakkaアクターのディスパッチャーが定義される

アクター名に一意のIDが付加されている場合、固定ディスパッチャーを使用するようにアクターを指定する方法はありますか。

私は以下のようにapplication.confを更新しようとしており、期待どおりの結果を得ようとしていません。それでもデフォルトのディスパッチャを使用しています。

私の俳優はアッカである://アプリケーション/ユーザー/俳優私が使用し

akka.actor.deployment { 
    "/actorName*" { 
     dispatcher = mycustom-dispatcher 
    } 
} 

参考文献:http://doc.akka.io/docs/akka/2.1.4/java/dispatchers.html#Setting_the_dispatcher_for_an_Actor

+0

最新の設定リファレンス(http://doc.akka.io/docs/akka/2.4.17/java/dispatchers.html)には例のワイルドカード*はありません。あなたはそれなしで試してみましたか?どこにもタイプミスがないのは確かですか?あなたはそれがまだデフォルトのものを使用していることをどのように確認していますか? –

+0

@Diegoは、デフォルトのディスパッチャを使用しているアクタを確認するログです。 –

答えて

0

はい、あなたが明示的にあなたの俳優[S]へのディスパッチャを割り当てることができます。

import akka.actor.Props 
val myActor = 
    context.actorOf(Props[MyActor].withDispatcher("my-dispatcher"), "myactor1") 

またはJavaバリアント:あなたは通常、あなたの俳優で使用するディスパッチャを指定する必要があり、よりakka-docs

+0

私は俳優に触れないでオプションを探しています。構成を言及する方法はありますか? –

0

のために構成された

ActorRef myActor = 
    system.actorOf(Props.create(MyUntypedActor.class).withDispatcher("my-dispatcher"), 
    "myactor3"); 

my-dispatcher { 
    executor = "thread-pool-executor" 
    type = PinnedDispatcher 
} 

チェック使用するディスパッチャを指定できる実行コンテキストを渡します。

ます。また、ここで指定したように、デフォルトのディスパッチャを変更することができ
implicit val executionContext = system.dispatchers.lookup("my-dispatcher") 

https://doc.akka.io/docs/akka/snapshot/scala/dispatchers.html#default-dispatcher

0
akka.actor.deployment { 
    "/actorName*" { 
    dispatcher = mycustom-dispatcher 
    } 
} 

上記(documentationから)ので、動作しません:

  • ワイルドカードを部分的にセクションに一致するように使用することはできません。/foo*/bar/f*o/barなど

ただし、俳優階層内の特定のレベルにあるすべての俳優を一致させるために、ワイルドカードを使用することができます。たとえば、カスタムディスパッチャを使用するすべてのアクタがakka://application/user/someParent/の下にあるとします。

akka.actor.deployment { 
    "/someParent/*" { 
    dispatcher = mycustom-dispatcher 
    } 
} 

より多くのオプションのためのリンクのドキュメントを読む:あなたは、次のようにsomeParentの直接の子のすべてが設定できます。

関連する問題