11

確認されていないメッセージの数を返す方法はありますか?

このコードを使用して、キュー内のメッセージの数を取得しています。

DeclareOk declareOk = amqpAdmin.getRabbitTemplate().execute(
        new ChannelCallback<DeclareOk>() {
            public DeclareOk doInRabbit(Channel channel)
                throws Exception {
                return channel.queueDeclarePassive(name);
            }
        });
return declareOk.getMessageCount();

しかし、未確認のメッセージの数も知りたいです。

RabbitMQ管理ツールにはその情報が含まれていることを確認しました(キューごとに、Ready / UnackedおよびTotalメッセージの数が示されます)。Java/Springからそれを取得する方法が必要だと思います。

ありがとう

アップデート

わかりました。構成/キューのリストはAMPQの一部ではないため、プログラムでそれを実現する方法はないようです。

管理プラグインを有効にして、キューについてREST Webサービスにクエリを実行する可能性があります(特に)。詳細はこちら:

http://www.rabbitmq.com/management.html

4

2 に答える 2

17

あなたの更新で言うように、管理プラグインを有効にすると、残りの API にクエリを実行できます。

例えば:

`http://username:password@queue-server:15672/api/queues/%2f/queue_name.queue`

これは(とりわけ)jsonを返します

  • messages_unacknowledged
  • メッセージ_準備完了

サーバーへの安全なルートがあれば、それは良いことです。

于 2014-03-10T20:48:43.523 に答える