2016-10-25 9 views
0

現在、私はサービスバスとしてWCFを使用しています。しかし、より強力なサービスバスに切り替える必要があります。私はレバスを選んだ。 私はRebusにとって何とか新しいです。私はいくつかの問題があります:RebusのPub/Sub +メッセージラベルのトランザクションスコープ

1)私のデータはDBテーブルに保持されます。パブリッシャがすべての永続化されたデータをn秒ごとに読み込み、サブスクライバにパ​​ブリッシュし、送信済みフラグをDB内のデータに設定するようにします。 公開時期はありますか? トランザクションスコープ内でデータの読み取り、発行、変更(設定フラグ)を行う必要があります。 Rebusに定義されたソリューションはありますか?

2)Consumerでは、公開されたデータをいくつかのテーブルに保存します。メッセージキューからのメッセージの読み取りとDB(私のハンドラ内)への保存は、トランザクションスコープで行わなければなりません。レバスはこれをどのようにしていますか?

3)公開メッセージのメッセージラベルは、ランダムな一意の文字列に設定されています。作成したMSMQメッセージのカスタムラベルを設定します。解決策はありますか?

答えて

0

1)定期的にデータベーステーブルを照会する場合は、自分で設定する必要があります。これを行うRebusのメカニズムはありません。

System.Timers.Timerなどをご覧ください。

2)Rebus.TransactionScopesパッケージを使用して、Rebusハンドラで自動トランザクションスコープを有効にすることができます。

3)MSMQメッセージで使用するラベルを指定することはできません。これはRebusによって、this extension methodで示されるメッセージタイプとIDからなる文字列に設定されます。

関連する問題