問題タブ [akka]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 一方の先物が他方の先物に依存している 2 つの異なるタイプの先物を処理する理想的な方法は何ですか?
AKKA の Java Futures API を見ていると、同じ型の複数の先物を処理する方法がたくさんありますが、異なる型の先物を処理するために思いつくものは何もありません。私はこれを実際よりも複雑にしていると思います。
とにかく、2 つの異なるアクターがあるとしましょう。アクター A とアクター B です。それらは異なるクラスに基づいており、それぞれ異なる Future を返します。ただし、actorB は、actorA の Future に依存しています。次のロジックは、このケースをどのように処理するのが最適ですか?
もし私たちがactorAsとactorBsのリストを持っているとしたらどうでしょう?
scala - Camelを使用しているかどうかにかかわらず、AkkaアクターのQuartz CronTriggers?
私は Quartz CronTriggers のデータベースを持っています。このシステム全体を、現在設計中の Akka ベースのバックエンドに移植したいと考えています。私はこれを行う方法を見て考えていました。
たとえば、CustomRouteBuilders やその他の同様のものです。Giovani による優れた Quartz-Camel-Akka 統合の例を試してみて、非常に感銘を受けました。現在、システムに複数の cron トリガーがあり、ユーザーが作成したさまざまな cron 式を使用しています。
このようなユーザー依存の endpointUri を使用して Camel Consumer Actors のシステムをプログラムするにはどうすればよいですか? 多くのオプションを考えていましたが、まだ何もわかりませんでした。
この努力で私を助けてください。また、Quartz と Camel 以外のアイデアにもオープンです。Akka ベースのバックエンド プラットフォームにこだわりたい。私のシステムは、ユーザー定義の cron 形成可能なタイミングで起動するユーザー定義のジョブで構成されています。
unit-testing - Mokito を使用して Akka Actor のログ オブジェクトをモック アウトする
単体テスト中にコンパイルするように見えるが NullPointer 例外をスローするいくつかのことを試したので、単体テストの制限をどのように克服できるか疑問に思っています。次のようなクラスがあります。
しかし、Specs2 と Mockito サポートを使用して、次のような方法で単体テストを試みます。
前述の結果をコンパイルしている間NullPointerException
:
Akka トレイトの「ログ」オブジェクトをオーバーライドする mixin トレイトを使用するように変更しようとしましたLogging
が、コンパイラはそれを許可しませんでした。コンパイラの応答は、「不注意な間違いを犯してほしくありません」というようなものでした。うーん!その「間違い」が欲しい。
別の方法を知っている人はいますか?私は Mockito に固執しておらず、提案を歓迎します。
java - JavaのJavaリストからscala.collection.immutable.Seqを作成するにはどうすればよいですか?
私はJavaプロジェクトでAkkaを動かそうとしていますが、ScalaのSeqタイプに関する小さな問題に悩まされています。ActorRefのJavaリストをscala.collection.Seqに変換できますが、使用しようとしているAkkaAPIにはscala.collection.immutable.Seqが必要です。どうすれば作れますか?
コード:
java - akka はリモート アクター間のネットワーク接続の監視を提供しますか?
これは、私がしばらく前に投稿した質問 ( Akka は、一時的なネットワーク カバレッジを持つシステムに適していますか? ) に対するフォローアップの質問です。
2 つのアクター間の接続を監視するために使用できる akka アクター用の監視メカニズム (ハートビートまたは同等のもの) があるかどうか疑問に思っています。通常、アクターの 1 人が他のアクターを監督するので、これが akka の監督メカニズムと統合されるとよいと思います。
scala - Akka 制御スレッドプール スレッド
非常にばかげた質問になる可能性があります--
アクターが使用するスレッドを制御するように Akka/Scala アクターをカスタマイズすることは可能ですか? たとえば、スレッド プールで使用する独自のスレッド セットを初期化できますか。そうでなければ、スレッドを制御/変更できますか?
scala - 大規模な共有状態のscala/akka/stm設計?
私は Scala と Akka を初めて使用し、問題を解決するために使用することを検討しています。計算エンジン (解を検索する) があるとします。各ノードの各CPUに独自のエンジンインスタンスを与えることで、CPU全体とノード全体の両方でその検索を並列化したいと思います。
エンジン入力は、少数のスカラー入力と非常に大きなハッシュ テーブルで構成されます。各エンジン インスタンスは、そのスカラー入力を使用してハッシュ テーブルに小さなローカル変更を加え、良さを計算してから、その変更を破棄します (他のエンジン インスタンスによってコミット/表示される必要はありません)。良さの値は、結果の中から選択するコーディネーターに返されます。
共有状態の手段としての STM TransactionalMap について読んでいました。これは理想的に思えますが、これを共有状態として使用する完全な例は実際には見当たりません。
質問:
- アクター/stm モデルはこの問題に適しているように見えますか?
- 共有状態を配布する具体的な例を教えてください。(メッセージとして Ref[TransactionalMap[,]] ですか?
- 異なるノード間ではなく、ノード内で共有状態を分散することに違いはありますか?
探究心が知りたい、
アラン
java - 一時的なアクターの失敗時に再試行を実装する方法は?
私は、キューからジョブを供給されているワーカー アクターのグループがある典型的な状況にいます。ワーカーの障害は、一時的で環境が原因である場合と、永続的で無効なジョブが原因である場合があります。
ワーカー アクター内で永続的な障害のケースを処理していますが、一時的なケースの再試行を実装するにはどうすればよいですか? スーパーバイザーを使用すると、アクターを再起動することができます。これは、動作状態にリセットして再試行することが望ましいですが、失敗したときにアクターが動作していたメッセージを再試行するにはどうすればよいでしょうか?
ありがとう!
scala - Akka Supervisor から例外の詳細を取得するにはどうすればよいですか?
Actor
私が取り組んでいる新しいものが予期しないメッセージをどのように処理するかをテストしています。GibberishException
これらの場合は a がスローされると断言したいと思います。これまでのテストと実装は次のとおりです。
テスト:
実装:
ただし、テストを実行すると、例外の詳細がSupervisor
確立されますが、ログを記録したり、型をテストしたりする方法がわかりません。ここでスーパーバイザーから例外の詳細を取得できるようにしたいので、テストでそれらを再スローしてインターセプトできます。テスト メソッド以外では、実行中のアプリの UI で例外の性質を報告したい場合に、これが役立つと想像できます。それが起こったときからこれを取得する方法はありSupervisor
ますか?
scala - Akka TypedActor の「Unit」メソッドはタイムアウトしますが、非同期にする必要があります
Akka TypedActors (1.1.2) を使用しようとしています。私は次のようなインターフェースを持っています
それを拡張する明確に定義された NamespaceImpl があります。
そして、Spring を使用してアクターを作成します。
実行時に updateOrCreateCell への呼び出しで定期的にタイムアウトしますが、メソッドは Unit 型であるため、これは発生しないはずです。したがって、メソッドが生成され、非同期呼び出しが行われることが期待されます。
スタックトレースで私が見る:
「ScalaActorRef$class.$bang$bang」が表示されているという事実は、何かが非常に間違っていることを示しています。
どんな助けでも大歓迎です。