問題タブ [rebus]
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.
structuremap - rebus でメッセージごとにネストされたコンテナーを使用する
現在、アプリケーションの 1 つを rhino-esb から rebus に移行することを検討しています。これは、最近 rhino-esb がほとんど活動していないという理由によるものです。
現在、メッセージごとに入れ子になったコンテナーを使用するために structuremap に依存していますが、インフラストラクチャの大部分を変更する必要がないように、その方法を維持したいと考えています。rebus api を少し調べましたが、ネストされたコンテナーを処理する適切な方法が見つかりませんでした。それを解決する方法について何か提案はありますか?それとも、自分で実装したことがありますか?
c# - rebus log4net の日付が間違っている
メッセージ タイプのハンドラーで例外をスローすると、例外は UTCDate でログに記録されますが、これはコンピューターの日付である必要があります。
奇妙なことに、正しくログに記録された後、間違ってログに記録されるため、複数のログ メッセージがファイルに追加されます。これは必要ありません!
以下のログの正しい時刻は 2014-02-18 14:... で、間違った時刻は 18-02-2014 13:.... 間違った時刻のログは必要ありません ログ:
Log4NetConfiguration:
Rebus ロギングのセットアップ:
Rebus によってキャッチされる例外
rebus がこれをログに記録する方法を防止または構成するにはどうすればよいですか? ログでわかるように、rebus ログの一部は問題なく、その他は問題ありません。
nservicebus - 競合する消費者シナリオの進捗状況を報告するためのアプローチ
メッセージについて頭を悩ませています。現在、Rebus を使用していくつかのシナリオをスパイクしています。NServiceBusも検討しています。
構築しようとしているシナリオは、バックグラウンド タスク処理システムの概念実証です。現在、いくつかのバックエンド サービスがさまざまな方法でホストされています。(Web、Windows サービス、コンソール アプリ) それらを rebus に接続し、競合するコンシューマーを使用してメッセージの消費を開始しようとしています。一部のメッセージには 1 つのリスナーがあり、一部のメッセージにはメッセージの負荷が共有されます。エレガント:)
私はこの他の質問からかなり良いスタートを切りました 1つのプロデューサーと多くのコンシューマーに対してrebusを設定するにはどうすればよいですか?それは概念実証でうまく機能しています.
それでは進捗報告を始めたいと思います。私の最初のアプローチは、pub/sub もセットアップし、すべてのサービスからの進行状況イベントをリッスンするサービスを起動することです。また、サービスが将来の特定の進歩に関心を持っている場合、メッセージへの関心をサブスクライブして、リッスンを開始するのは簡単です。
しかし、競合するコンシューマーと pub/sub の両方をセットアップするにはどうすればよいでしょうか? それは2つの別々のものですか?(rebus の場合、UseSqlServerInOneWayClientMode / UseSqlServer を使用する 1 つのアダプターと、任意のプロトコルを使用してパブ/サブ用にセットアップされた別のアダプター?)
または、ここに 2 つの「バス」を配置するよりも優れた解決策はありますか?
c# - Rebus: 各メッセージにユーザーコンテキストを追加するためのアドバイス
まず、 'UserContext'を、ユーザーの正しいコンテキストで受信メッセージを実行するために必要ないくつかのプロパティとして定義しましょうstring
。私の場合、これには、ユーザーが作業していたアプリケーションの「インスタンス」に関するデータも含まれます。
私が見ているように、メッセージに「UserContext」を提供するには2つの主なオプションがあります。
- ヘッダーとして
- メッセージの基本クラスとして
ヘッダーを使用する場合、独自のシリアライゼーションを提供する必要があります。基本クラスを使用する場合、Rebus がシリアライゼーションを解決してくれます。
そこで、小さなサンプル プログラムを使用して基本クラスを使用してスパイクしました。
しかし、プログラムを実行すると、 が2 回SimpleMessage
処理されていることがわかります。これは「設計による」ものですか、それともバグですか?
一方、 の登録のコメントを外してUserContextHandler
、からを継承することはできませんが、 を に詰め込み、からそのまま使用する必要があります。SimpleMessageHandler
UserContextHandler
UserContext
MessageContext
SimpleMessageHandler
rebus - マルチテナント アプリケーションで Rebus を使用する
マルチテナント アプリケーションで rebus をどのように使用しますか?
あなたはどちらを選びますか:
- すべてのテナントの rebus キューをまとめて、または
- テナントごとの rebus キュー (入力/エラー)
c# - イベントを rebus に再送信する
メッセージを処理した後、新しいメッセージを送信する必要があります。これは、コマンドを処理したばかりのコマンド イベント パターンで、(同じバスに) イベントを送信する必要があります。
メッセージの送信元のバス コンテキストはハンドラーで使用できますか? そうでない場合、どうすれば正しいバスを見つけることができますか?
c# - メッセージ バス オブジェクト タイプの所有権
私はまだメッセージ キューの概念に取り組んでいます。
別の質問があります。共通の型ライブラリ、つまり、サブスクライバーとレシーバーが送受信できるすべての型を格納するライブラリがあります。
1 つのメッセージ タイプが複数のパブリッシャーから送信される可能性がある
- これが機能する可能性はありますか、特に rebus で
- サブスクライバーは、接続するパブリッシャーをどのように知るか
読んでくれてありがとう