問題タブ [event-bus]
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.
guava - Guava eventBus は、登録解除時に「イベントハンドラーがありません」と報告しています
ハンドラーを登録解除しようとすると、Guava eventBus から次のエラーが発生します。
すでに回答済みの同じ質問がありますが、根本的な原因はクライアントのコーディング エラーでした。私の場合、私はすべてを非常に単純に行っていますが、それでも問題が発生しています。
クライアント コードは、複数のスレッド (この場合は 2 つだけ) で実行される Apache Camel Processor Bean です。eventBus はスレッドセーフになるように設計されていますが、エラーが発生するのはトラフィックが多いときだけであり、数千回の呼び出し後に発生したのは数回だけです。
ハンドラー インスタンスは Camel Exchange を格納するだけであり、構築が失敗するとすぐに失敗します。
android - 「イベントをディスパッチできませんでした」および「イベントにサブスクライバーが登録されていません」という奇妙な問題
私は何時間もこのことをデバッグしようとしてきましたが、ここで問題が本当にわかりません。
これは私の MainActivity です。ここで注目すべき主なものはArrayList<Servico>
、Servico
カスタム オブジェクトである です。オブジェクト参照 (およびコンストラクター/ゲッター)ServicoActual
だけを持つ単純な「イベント」クラスを作成しました。Servico
Servico
したがって、Drawer リスト項目がクリックされると、対応する( ServicoActual
「イベント」内の) をに渡そうとしていServicoFragment
ます。Servico
TextView
最初の項目 (0) を 1 回クリックすると、次のようになります。
私は何が間違っている可能性がありますか?
guava - EventBus google guava シャットダウン フック
現在、アプリケーションでグアバ EventBus アプローチを使用しています。リスナーは何らかの処理を試みますが、失敗した場合は、イベントをバスに戻して再送信する必要があります。
私の質問は次のとおりです。アプリケーションがダウンしている場合 (シャットダウンを実行している場合) はどうなりますか? バス内の残りのイベントを送信しますか?
ActiveMQ シャットダウン方法で実装されるなど、いくつかのアプローチを探しています
ブローカはシャットダウン フックをインストールして、JVM の強制終了時に自身を適切にシャットダウンできるようにする必要があります。
残念ながら、EventBus guava で同様のものは見つかりませんでした。
java - Guava EventBus を使用した Java マルチスレッド
グアバイベントバスを使用しています。私は、イベントがバスに投稿されるのをリッスンして、常に実行されているはずのサーバーのようなオブジェクトを持っています。したがって、junit テスト (MyObject はテスト対象のクラス) で、独自のスレッドで作成して、これをシミュレートし、ブロックを防止します。
すべて問題ありません。myObject は独自のスレッド Thread1 で作成されます。その後、テストでイベント バスにイベントを投稿します。
私が見つけた奇妙なことは、 MyObject クラス内のサブスクライブされたメソッドからのすべてのアクション/ロギングがメインスレッドで再び実行されていることです。myObject は特定の他の部分からの応答を待ちます。これは、メイン スレッドにあるため、テストをブロックします。なぜこうなった?EventBus または Java スレッド化で何か間違っているのでしょうか?
java - AsynchEventBus、シングルトン、スレッド、および Java
私は Java を初めて使用し、現在取り組んでいるアプリケーションに手を加えています。これが私がやろうとしていることです。
QuickServer をサーバーとして使用するクライアント/サーバーのセットアップがあります。私はそれをうまく実行しました。「\ r」\ n」を使用してコマンドを1行ずつ送受信するため、クライアントは
Thread を拡張しないと GUI がフリーズするため、CommandHandler には独自のスレッドが必要であると推測します。ただし、問題は AsyncEventBusSingleton です。
CommandHandler スレッド内でこのクラスを呼び出すと、メイン スレッドの他のクラスはイベントを受け取りません。「同期」キーワードを削除すると、一部のイベントが受信/繰り返し/エラーが生成されます。
CommandHandler からイベントをスローせずに、CommandHandler をインスタンス化するクラスの参照を渡し、CommandHandler のメソッドを呼び出すようにすると、すべてが正常に機能するように見えます。
クライアントに特定のコマンドをリッスンさせ、イベントをディスパッチして応答させるためのベスト プラクティスは何ですか?
android - フラグメントからデータにアクセスできるようにする
メインアクティビティでデータを取得し、利用可能になるとすぐにすべてのフラグメントにイベントを送信するアプリがあります。したがって、最初の開始では次のようになります。
アプリの起動 (フラグメントはバックグラウンドで初期化されています) -> フィードのダウンロード -> フラグメントに送信された通知 -> フラグメントは UI を初期化します
これまでのところすべて順調です。しかし、アプリを再開するとどうなりますか。データは引き続きキャッシュされるため、アプリの再開時にすぐにイベントを送信します。そのため、フラグメントがイベントを受信する準備ができていない可能性があります - >フラグメント UI の更新はありません! または、イベントがトリガーされ、フラグメントで受信されますが、フラグメントは UI の更新の準備ができていません。これは、レイアウトがまだ膨張していないためです -> NullpointerException または、フラグメントはイベントを受信しますが、アクティビティにアタッチされていません - > 別の例外。単一の問題に対処する方法はありますが、全体として、アーキテクチャが非常に複雑になっています。
どういうわけか、私は多くのことを試しました (Otto バスで遊んでいます) が、どういうわけか、アプリ内のすべてのアクティビティとフラグメントで中央データソースを利用できるようにするために機能するアーキテクチャを見つけることができません。
バンドルを使用したくない場合、どのようにフラグメントにデータを提供しますか?
java - Akka のイベント バスはメッセージの順序を保証しますか?
イベントがバスに入った順序を維持したいと思います。たとえば、event1 の次に event2 がバスに入力された場合、サブスクライブしたアクターはその順序でそれらを取得します。
問題は、クラスター化されたアクター システムと単一ノードのアクター システムの両方で、そのような順序が保証されるかどうかです。