問題タブ [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.

0 投票する
1 に答える
20678 参照

java - イベント バスを使用する場合

新しい Java Web アプリのバックエンドを設計しており、イベント バスを使用するかどうかを決定しようとしています。特にグアバEventBus

ほとんどのサーバー側のリクエストは同期的です。つまり、ユーザーはデータをリクエストしており、数秒以内に応答する必要があります。ただし、非同期の可能性があり、クライアント側で「ファイア アンド フォーゲット」になるリクエストもかなりの数あります。それらが最終的に処理される限り、処理に 2 秒または 2 時間かかる場合でも、クライアントはあまり気にしません。

これらの非同期リクエストについては、マップされた URL でリッスンするサーブレットがリクエストをキューに発行するように計画しています。次に、コンシューマは各リクエストをデキューし、適切なハンドラにルーティングします。これは、機能する場合と機能しEventBusない場合がある場所です。要求を正しいハンドラーにルーティングするためのビジネス ロジックは非常に複雑です。通常は Camel ルートが最適なソリューションです。私の使用例では、一連の「プロセッサ」(イベント ハンドラ) を同じイベント バスに接続し、最終結果が生産された。

私はすでに Apache Camel を使用して調査したこと、そして Camel がここでの仕事に適したツールであると信じていることを言いたいと思います。残念ながら、この質問の範囲外の理由により、使用しません。それで、私はラクダのようなソリューションを思いつき始めました。これが、グアバのEventBus. しかし、それは適切な代替品ではないかもしれません。

パターンが解決する問題の分類を探していると思いEvent Busます。次に、それがここでのユース ケースに一致するかどうかを判断する必要があります。

0 投票する
2 に答える
1173 参照

gwt - イベント バスを介して GWT セル ウィジェットのデータが変更されたことをどのように通知しますか?

CMS からファイル構造を表示するために使用する GWT セル ツリーがあります。AsyncDataProvider作成したカスタム RPC クラスからデータをロードするを使用しています。また、システムで動作している他のクライアントからイベント (ファイルの作成、名前変更、移動、削除など) をブロードキャストする Web ソケット システムもあります。

私が頭を包み込もうとしているのは、これらのイベントのいずれかを受け取ったときに、セルツリーを正しく更新する方法です。

この問題は、同じサーバー側のデータを提示し、ユーザーが一方を更新したときに、EventBus.

これはかなり単純なはずだと思いますが、今のところ約 6 時間費やしていますが、何も進んでいません。私のコードは以下に含まれています:

注: RequestFactory は、カスタム RPC フレームワークのように見えるかもしれませんが、使用していません。また、FileEntity は、 によってアクセス可能な名前を持つファイルの単なる表現ですgetName()

0 投票する
3 に答える
1780 参照

java - GWT: 2 つのモジュール間で Java オブジェクト (つまり、EventBus) を共有する方法

大規模なアプリケーションを構築しており、初期化、ユーザー管理などのコア モジュール、カスタマー モジュール、プロダクション モジュールなどの複数のモジュールに分割したいと考えています。</p>

複数の GWT モジュール (GWT 分割手法を使用しない) に分割し、LoginEvent、LogoutEvent などのイベントをブロードキャストするために EventBus を共有したいと考えています。コンパイル時間を短縮し、変更したモジュールのみを再コンパイルしたいので、コード分割手法を使用したくありません。これにより、HTML ホスト ページのスクリプト タグにコメントを付けることで、モジュールを有効または無効にすることもできます。

JSNI を使用して次のコードを記述しました。

しかし、ブラウザで実行すると、Firebug で次の例外が発生します。

顧客イベントを実装/インターフェースする MyEvent および MyEventHandler クラスもコピーしました。

PS: コンパイルを避けるために、他のモジュール参照にコメントを付けるテクニックも知っています。

0 投票する
2 に答える
738 参照

android - ライブラリが含まれているにもかかわらず、ライブラリが含まれていないと言ってアプリがクラッシュする

私の Android アプリは、git リセットを行うまで正常に動作しているように見えました。現在、クラッシュし続け、使用しているライブラリが存在しないと表示されます。

これは私が得るクラッシュログです

最後の既知の作業コピーも復元しようとしました。私のマシンの問題でしょうか?

0 投票する
0 に答える
1375 参照

java - 新しいデスクトップ アプリケーションにはどの EventBus が適していますか?

数年間org.bushe.swing.event.EventBus、主にスイングデスクトップアプリケーションに使用しています。API は非常に一貫性があり、使いやすいです。しかし今、新しい要件が発生し、一部の EventSubscriber が同期して通知されるため、他のものよりも優先される必要があることが望まれています。そのため、これらのサブスクライバーには何らかの優先度が必要です。

EventBus を拡張して EventSubscribers を優先することはそれほど問題にはならないはずですが、時代遅れorg.bushe.swing.event.EventBusになっているため、EventBus の実装を変更する方が望ましいかどうかはわかりません。

org.bushe.swing.event.EventBus自体が、GWT 用のGWT Eventbusのようなプロジェクトを推奨しています。それがスイングアプリケーションの良いアプローチでもあるかどうかはわかりません。通常、どの EventBus 実装を使用しますか? サブスクライバーの優先順位をサポートする単純な実装を知っているかもしれません。

0 投票する
1 に答える
142 参照

events - GWT - 存在しないオブジェクトの EventBus 呼び出しイベント

私は大規模なプログラムでこの問題に遭遇したので、小さなサンプルを書いてテストしました。誰かが私にこれを説明してくれることを願っています。

コードは次のとおりです。

その後、次のことを行います。

私の論理では、これへの出力は単一の「テスト」である必要があります。実際、これは 2 つの「テスト」であり、ハンドラは 2 回呼び出されます。これがなぜなのか、私にはよくわかりません。c1 は単一のオブジェクトなので、ハンドラーは一度だけ呼び出されるべきではありませんか?

0 投票する
1 に答える
271 参照

gwt - EventBus は、GWTP で別のプレゼンター (ネストされたプレゼンターではない) を呼び出すことができますか?

わかりました、ここに私の問題があります。FirstPresenter (例: abc.com#first) と SecondPresenter (例: abc.com#second) の 2 人のプレゼンターがいます。SecondPresenter にはボタンがあり、ユーザーがそのボタンをクリックすると、FirstPresenter がメッセージをポップアップ表示します。

だから、これが私がしたことです、私はeClipseを使ってイベント名MyEventを作成しました.EclipseはクラスMyEvent.javaを生成しました

SecondPresenter で得たもの:

FirstPresenter で得たもの:

FirstPresenter が SecondPresenter 内に埋め込まれたネストされたプレゼンターである場合、上記のコードは正常に機能します。しかし、それらが 2 つの別々のプレゼンターである場合、上記のコードは機能しませんでした。

なんで?Google doc を確認しましたが、EventBus はプレゼンターを呼び出すことができるとだけ言っていますが、ネストされたプレゼンターでなければならないとは言っていないので、EventBus は任意の分離されたプレゼンターを呼び出すことができると想定しました。

に変更private EventBusしましたpublic EventBusが、役に立ちませんでした。

私は何が欠けていますか?

編集:

コードを少し変更しましたが、部分的に機能します。まだいくつかの問題があるため、正しいことをしているとは言えません。

OK、FirstPresenter で MyHandler を実装し、onMy メソッドをオーバーライドします

SecondPresenter (Web ブラウザーの 2 番目のタブのページ) のボタンをクリックすると、2 番目のタブにメッセージ ポップアップが表示されました (つまり、ブラウザーは最初のタブをフォーカスしませんでした)。最初のタブのページ) Label("test")?が表示されませんでした

Window.alert を呼び出すことができるのに、Label を FirstPresenter に追加しなかったのはなぜですか?

また、ブラウザに FirstPresenter にフォーカスを設定させるにはどうすればよいですか (つまり、最初のタブを表示します)?

何か不足していますか?

0 投票する
1 に答える
125 参照

java - CurrentUser が gwtp-sample-tab に HasHandlers を実装するのはなぜですか?

私はGWTとGWTPを自己学習しています。ロギング サービスをセットアップしようとしていますが、現在のユーザー オブジェクトに依存するプレゼンターが公開される前に、サーバーからそのオブジェクトを取得したいと考えています。

ただし、gwtp-sample-tab の例で、クラスCurrentUser が HasHandlers を実装している理由がわからないという事実に関係していると思われる問題に遭遇しました。

誰か説明してくれませんか?より正確な質問のために編集してください。私が知りたいのは、サンプルのコンテキストで、CurrentUser が HasHandlers を実装する必要がある理由です。アプリケーションでどのような機能を満たしていますか?

どうもありがとう、マヌ

PS。私は StackOverflow を初めて使用するので、私の質問に何か問題があると思われる場合はお知らせください。