6.7.5. share Feature
優先度キューを使用する場合、メッセージプロデューサーとコンシューマーの間で速度の不一致が発生すると、キューに無期限に残される優先順位メッセージが少なくなります。すべての優先度のメッセージが処理されるようにするため、Cross 機能 を使用して各優先度レベルで事前定義されたメッセージ数を取得することができます。
の
x-qpid-fairshare
引数は、共通の数のメッセージを、優先度別のレベルまたは priority レベルごとのカスタム数のメッセージ数に強制するために使用 x-declare: argument
できます。
以下の例では、優先度が 10 のキューを作成し、順番に各優先度から 5 つのメッセージを取得します。
- C++
Sender sender = session.createSender('my-queue; {create: always, node:{x-declare:{arguments:{qpid.priorities:10, x-qpid-fairshare: 5}}}}')
Sender sender = session.createSender('my-queue; {create: always, node:{x-declare:{arguments:{qpid.priorities:10, x-qpid-fairshare: 5}}}}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
以下の例では、優先度レベル 10 個で、priority-level ごとにカスタムのマーク共有量を持つキューを作成します。
- C++
Sender sender = session.createSender('my-queue; {create: always, node:{x-declare:{arguments:{qpid.priorities:10, x-qpid-fairshare-0: 3, x-qpid-fairshare-1: 5, x-qpid-fairshare-2: 3, x-qpid-fairshare-3: 2, x-qpid-fairshare-4: 4, x-qpid-fairshare-5: 5, x-qpid-fairshare-6: 5, x-qpid-fairshare-7: 3, x-qpid-fairshare-8: 5, x-qpid-fairshare-9: 4, x-qpid-priorities: 10}}}}')
Sender sender = session.createSender('my-queue; {create: always, node:{x-declare:{arguments:{qpid.priorities:10, x-qpid-fairshare-0: 3, x-qpid-fairshare-1: 5, x-qpid-fairshare-2: 3, x-qpid-fairshare-3: 2, x-qpid-fairshare-4: 4, x-qpid-fairshare-5: 5, x-qpid-fairshare-6: 5, x-qpid-fairshare-7: 3, x-qpid-fairshare-8: 5, x-qpid-fairshare-9: 4, x-qpid-priorities: 10}}}}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow