0

私は activemq 設定で priorityedMessages を有効にしました。優先度は正常に機能します。つまり、X メッセージを送信すると、半分は優先度 0 で半分は優先度 9 で、消費者はメッセージを正しい順序で受信します。

CMSPriority > 0ただし、またはなどのセレクターを使用して createConsumer() メソッドを呼び出すと、CMSPriority < 4メッセージが受信されません。

関連する消費者コードは次のとおりです。

mSession = mConnection->createSession(Session::INDIVIDUAL_ACKNOWLEDGE);
mDestination = mSession->createQueue( mDestURI );
mConsumer = mSession->createConsumer(mDestination, "CMSPriority < 4");

最後の行を に変更するとmConsumer = mSession->createConsumer(mDestination);、すべてのメッセージが正しい優先度で受信されます。

誰でもこの動作を説明できますか?

4

1 に答える 1