優先度の高い JMS メッセージが 1 日を通してロードされるキューがあり、それらをすぐに外に出したい。キューには、優先度の低いメッセージが大きなバッチで定期的にロードされています。忙しい日に私が目にする問題は、キューの前に常に十分な優先度の高いメッセージがあり、その量が減るまで優先度の低いメッセージが選択されないことです。多くの場合、彼らは真夜中まで列に並びます。アプリは多数のサーバーに分散されていますが、CPU は激しく動いていません。JMS が問題になっているようです。
私の推測では、非常に長い間キューに入れられていたメッセージの優先度を上げるある種のエージング アルゴリズムを実装することですが、もちろん、それはミドルウェアが私に代わって行うべきことです。JMS プロバイダー (IBM WebsphereMQ) やアプリケーション サーバー (TIBCO BusinessWorks) に、これに対処する何らかの機能が備わっていないとは思えません。コードを書く前に、この問題を解決するためにこれらのテクノロジのいずれかを取得する方法はありますか?
キューを読み取る BusinessWorks アクティビティは JMS SOAP イベント ソースですが、これを JMS キュー レシーバ アクティビティなどに変えることができます。
これを解決する方法についてのすべての考えは大歓迎です:-) TIA