QueueClient.Receive()はどの順序でメッセージを配信しますか? 私はいくつかのテストを実行していますが、あなたがComplete()をしなければ、いくつかのメッセージ(私が推測するもの)の何点かが何度も何度も繰り返し提供されています。 強制的にラウンドロビン方式で配信する方法はありますか?QueueClient.Receive()によって配信されるメッセージの順序は何ですか。
0
A
答えて
2
配信されたが完了していないメッセージがある場合は、LockDuration
が期限切れになって再び消費されると、メッセージがキューに表示されることが予想されます。 にはがあります。そうしないと、最終的にDLQに入りますが、その前に消費者は複数回DLQを受信します。
QueueClient.Receive
は、ブローカー(サーバー)で使用できるものをすべて取得します。キューに入っているので、私はラウンドロビンの配信のアイデアに従っていません。あなたは待ち行列に入っているものを手に入れます。経験則として、私はにメッセージの順序に頼らないことを提案します。
と言うと、配信の順序を保持し保証できるASBセッション機能があります。あなたがセッションを探している場合には、前にsimilar questionが尋ねられました。あなたがコールするのではなく、それを受け取るとこれは、すぐにキューからメッセージを削除することができるようになります
QueueClient.CreateFromConnectionString(connectionString, path, ReceiveMode.ReceiveAndDelete);
:
0
あなたが作成するときQueueClient
あなたは、受信モードとReceiveAndDelete
に設定を指定することができますComplete
。あなたがComplete
を呼び出すか、ReceiveAndDelete
を使用しない場合は
、順序は次のようになります。
- は、メッセージ(X秒のためにそれをロック)
- を取得Xのためにそれをロックする(順に次のメッセージを取得します。秒)
- 最初のメッセージロックが期限切れになったため、再度取得して再ロックします。
- 2番目のメッセージと同じように続きます。
関連する問題
- 1. SCTP順序付けされていないメッセージ配信よりも利点は何ですか?
- 2. Values()ステップによって値が返される順序は何ですか
- 3. redis pubsub保証メッセージは順番に配信されますか?
- 4. Assembly.GetTypes()で返される型の順序は何ですか?
- 5. メッセージの順序
- 6. 値の順序によってGadflyによってスローされるInexactError
- 7. Railsは、ネストされた値によって順序
- 8. JavaScript配列の順序は保証されていますか?
- 9. websocketメッセージの到着順序が間違っていますか?
- 10. socket.ioのメッセージ順序
- 11. PubSubのメッセージ順序
- 12. "clientInChannel"に送信されるメッセージの順序は、 "serverInChannel"で受信されたときに維持されることが保証されますか?
- 13. ApplicationContext.getBeanDefinitionNames()によって返される順序に影響する方法は?
- 14. Akka.Persistenceリカバリの順序は何ですか?
- 15. 指定された順序でメッセージ出力を累積する
- 16. 発信キュー内のメッセージの順序を維持する - .Net
- 17. context.startService()呼び出しは、送信されたのと同じ順序でサービスによって取得されることが保証されていますか?
- 18. パラメータ化「順序がによって」SQL
- 19. Java varargsは、与えられた順序と同じ順序で受信されますか?
- 20. XSL/XML:要素が間違った順序で配置されている
- 21. Webワーカーのメッセージの順序
- 22. 指定された順序に従ってリンクリストを配置し直す
- 23. イニシャライザのリストはパラメータの順序によって変わってきますか?
- 24. 配列の順序を逆にして、私のコードで何が問題になっていますか?
- 25. RedisコマンドZRANGEBYLEXから返される要素の順序は何ですか
- 26. リンクリストでは、デストラクタによってノードがどのような順序で削除されますか?
- 27. Akka Streams ActorRefSourceメッセージの順序
- 28. 個別配信順序:SDモジュール
- 29. 配列から順序付けられたデータを送信
- 30. CompletableFutureの複数のthenAcceptブロックが実行される順序は何ですか
次に、上部からいくつかのメッセージが何度も繰り返し得られます。しかし、どれくらいですか? –
@GökhanKurt私はあなたの質問を理解しているかわかりません。 –
私は答えから理解すると、一番上のもののいくつかをロックし、それらをロックします(あなたの例では2つ)。その後、ロックが切れたときに、ロックを解除します。 2つのアイテムが単なる例であると仮定すると、ロックして試してみるといくつでしょうか?それとも、ロックを解除してロックが切れるまで待ちますか?または、ロックが最初から最後まで繰り返される最上位のものが期限切れになるまで、すべての項目を上から試してみることもできます。 –