問題タブ [publish-subscribe]

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 に答える
1489 参照

wpf - イベントの集約...正確には何が起こっているのでしょうか?

私はしばしばそれについて疑問に思っていましたが、それを組み込んだロジックに遭遇したので、先に進んで基本を解読するための助けを得る必要があると思いました. 問題は次のとおりです。複合アプリケーション ライブラリを利用している WPF アプリケーションを見ています。アプリケーションのソース内で、ビューのプレゼンテーションで次のコード行に出くわしました。便宜上、これをプレゼンテーション A と呼びます。

上記のメソッドで Publish メソッドを見たとき、どこかに Subscribe があり、別のクラスにある必要があると直感的に言われました。これをプレゼンテーション B と呼びます。

OnSomeEventA と呼ばれる同じクラスに、いくつかのロジックを持つプライベート関数がありました。

ここでの私の質問は、ここですべてがどのように配線されているかということです。ここで「発行」「購読」によって正確に何が達成されますか? 「何か」が変更されたとき、コンパイラは、イベント ハンドラーのロジックが記述されている別のクラスによって「サブスクライブ」されたイベントを「発行」する OnSomethingChanged のロジックに従う必要があることをどのように認識しますか? このプロセスの根底にある配線を理解することは素晴らしいことです。

ありがとう

0 投票する
5 に答える
3508 参照

javascript - Jquery - パブリッシュとサブスクライブ?

あるJavaScriptページから別のページにメッセージを送信するためにjqueryで使用するために公開および購読するようなものはありますか.. ajaxの公開と購読の背後にある同じアイデアを使用していますか?

ページ間の通信にパターンを使用したいと思います。最近は JavaScript フレームワークを使用していましたが、最近 jquery に戻しました。これを引き続き使用したいと考えています。

どこから始めるべきか?複数の実装が存在する場合に使用する実装..

ありがとう

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

.net - アプリ内通信用の軽量のパブリッシュ/サブスクライブ ライブラリはありますか?

職場では、私が維持する製品には多くの「可動部分」があります。その設計方法に関する主な問題点の 1 つは、リスト内の新しい項目が選択されたことを 10 か所の異なる場所で知る必要があるということです。直接コードパスをコーディングする必要があります。たとえば、次のレイアウトで。

(私が取り組んでいる実際のアプリケーションには、GUIコンポーネント用にこれよりも多くのレイヤーがあります...ブレ...)

コントロールに別のビューを追加する場合は、選択されている項目によって異なりますが、Form1 はメッセージをルーティングする必要があります。さらに悪いことに、選択リストまたはいずれかのビューから、選択したアイテムに対して呼び出すことができるさまざまなコマンドを追加すると、アクションを適切に呼び出すために、ビューを変更する必要があります。通常、そのようなアクションは Form1 に格納されています (メイン メニュー オプションからも利用できます...)。

(ファイルのリストのように SelectionList を考えてください...)

これは壊れやすく扱いにくいようです。

最近私は、イベント (コマンドなど) のパブリッシャーとサブスクライバーがイベント引数の定義とイベントを受け取るためのイベントの名前。

私の質問は次のとおりです。

  1. .Net 3.5 で既にこれを行っている商用、オープンソース、またはパブリック ドメインのライブラリはありますか? (私は C# を使用します。) これはアプリケーション内メカニズムである必要があります。MSMQ やThis Codeplex プロジェクトなどのインターアプリケーション ライブラリとメカニズムについては既に知っています。

  2. このようなソリューションを開発または使用した経験がある場合、回避すべき上位 3 つの落とし穴は何ですか?

0 投票する
8 に答える
6632 参照

.net - .NET を使用したパブリッシュ/サブスクライブ モデルで使用できるテクノロジは何ですか?

私は現在、アプリケーションの 1 つのコンポーネントが特定のイベントに基づいて他の複数のシステム コンポーネントと対話する必要があるアプリケーションに取り組んでいます。これらのイベントは、さまざまなトリガーに基づいて発生します。一部のイベントは、他のユーザーに通知する必要があるユーザーのアクションによって発生し、一部のイベントは時間ベースであり、他のイベントはオブジェクトの状態の変化に基づいています。

これまで見てきたことに基づいて、アプリケーション コンポーネントを分離する最もクリーンな方法は、コンポーネント内のオブジェクトが他の関心のあるアプリケーション コンポーネントをサブスクライブできるイベントをパブリッシュするパブリッシュ/サブスクライブ モデルをセットアップすることのように思えます。

nServiceBus を見たことがありますが、"vendor-lock-in" の理由により、Azure で .NET サービスを使用できません。他に利用可能な技術はありますか?私が検討すべき別のアプローチはありますか?

編集- 明確にするために、これは Web ベースの大量のアプリケーションです。アプリケーションは ASP.NET MVC であり、MVC アプリケーションはそのデータのために複数の WCF サービスと通信しています。

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

c++ - OpenDDS とパブリッシャーの存在の通知

問題: ブース パブリッシャの接続と切断の活性通知を取得するにはどうすればよいですか?

背景: 私は、同じトピックを使用して、データ型 (dt) のパブリッシャーとサブスクライバーが別々のコンピューターにある OpenDDS 実装を使用しています。

サブスクライバー側のリーダーは、 と の実装をオーバーライドしon_data_available(...)ましたon_liveliness_changed(...)。私のサブスクライバーが最初に開始され、on_liveliness_changed(...)利用可能なライターがいないことを示すコールバックが発生します。パブリッシャーが開始されると、ライターが利用可能であることを知らせる新しいコールバックを取得し、パブリッシャーがパブリッシュするon_data_available(...)と呼び出されます。これまでのところ、すべてが期待どおりに機能しています。

パブリッシャーのライターには、オーバーライドされた実装がありon_publication_matched(...)ます。on_publication_matched(...)サブスクライバーが既に開始されているため、パブリッシャーを開始するときに呼び出されます。

問題は、パブリッシャーが切断されたときにon_liveliness_changed(...)、リーダー側でコールバックが得られず、パブリッシャーが再び開始されたときに新しいコールバックが得られないことです。

を設定して、readerQos を変更しようとしましたreaderQos.liveliness.lease_duration。しかし、その結果、on_data_available(...)が呼び出されることはなく、への唯一のコールバックon_liveliness_changed(...)は起動時であり、パブリッシャーが存在しないことがわかります。

/クリストファー

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

struts2 - Struts2 と Dojo (double?) の公開

私は道場のトピックで公開しています:

そしてJSPにはlistenTopicsがあります:

問題は、私のアクションが 2 回公開され、その理由がわからないことです。

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

msmq - NServiceBus - サブスクライバーおよびワーカー サービスとしてのアプリケーション

各ジョブが単一のサービスによってのみ実行されるように、単一のキューからジョブを選択する複数のマシンで実行する必要があるサービスがあります。また、リロード トリガーなど、すべてのサービスが受信するメッセージを公開する必要があります。

ハッキングしすぎずにnservicebusでこれは可能ですか?

パブリッシュ モデルと送信モデルの両方が機能することを証明しましたが、クライアントが両方のアーキテクチャを処理する必要があるとすぐに、クライアントはそれらすべてを送信アーキテクチャとして扱い、すべてのサービスがパブリッシュ メソッドを受け取るわけではありません。

これが私がこれまでに持っている設定ファイルです:

パブリッシャー (すべてのサービスがこれらのメッセージを受信する必要があります)、Bus.Publish<...>(...) を使用します。

送信者 (これらを取得できるのは 1 つのサービスのみ)、Bus.Send<...>(...) を使用:

サービス (それぞれ同じローカル キュー名を持ち、上記のパブリッシャーにサブスクライブします):

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

jms - クラスタ化されたアプリケーションサーバーのJMSトピックサブスクライバはどのようにメッセージを受信しますか?

1つのサブスクライバー(PropertiesSubscriber)でJMSトピック(PropertiesTopic)を作成したとします。次の図に示すように、PropertiesSubscriberは負荷分散されたアプリケーションサーバークラスターで実行されています。

代替テキストhttp://www.freeimagehosting.net/uploads/be28c03781.png

メッセージがPropertiesTopicに配信されるとき、異なるアプリサーバーで実行されているPropertiesSubscriberのすべてのインスタンスがそのメッセージを受け取りますか、それともロードバランサーによって決定されたアプリサーバーで実行されている1つのPropertiesSubscriberインスタンスにのみメッセージが配信されますか?

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

php - ポストリクエストでphpを読むxml

だから、私は2つのステップを実行しました

a) php ファイルの 1 つにランダムな xml ファイルを作成します。b) 2 番目のファイルで同じ xml ファイルを解析します。

重要な点は、a) の php ファイルが xml のみを要求として使用して、php ファイル b) にポスト要求を発行することです。

ファイル b) は、SImpleXml を使用して xml ファイルを読み取る必要があります。

このhttp://blog.superfeedr.com/API/pubsubhubbub/getting-started-with-pubsubhubbub/のために何かをしようとしています。

私のサーバーは、スーパーフィーダーから xml 形式で通知を受け取ります。通知は、リクエスト内の xml ファイルになります。

ステップ a) を実行しているのは、パート b) が正しいことを確認するためだけです。

PHPでこれを行う方法。$_REQUEST、$GLOBALS 変数をすべて試しました。しかし、方法がわからない!

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

java - DAO パターンに統合する Publish-Subscribe パターンの作成

質問 ( Web アプリケーション用のクライアント通知サービスを作成する方法、または Observer パターンを使用する必要がありますか? ) に基づいて、知りたいと思います。

getter と setter メソッドのみを含む Entity Bean を使用して完全に実装された DAO があります。各エンティティは EntityManager にマップされます。

現在、データベースなどの永続ストレージに追加/削除/更新された変更をユーザーに通知する方法はありません。

現在の DAO アーキテクチャを拡張する必要がないように、Publish-Subscribe パターン (オブザーバー パターンとも呼ばれます) をどのように実装するのか知りたいです。すべてのエンティティが更新可能であるとは限らないため、エンティティにパブリッシャーを継承させたくありません。

私の状況で使用できるツール/フレームワーク/ライブラリがある場合は、お知らせください。また、私は永続的なフレームワーク (Hibernate などのフレームワーク) をまったく使用していません。DAO マネージャーと Factory は、私がゼロから完全に作成しました。

よろしく、