2017-08-31 7 views
0

私はRabbitMQでアプリケーションを持っています。ここでは、HTTP API(/ api/queues/vhost/name)を使ってRabbitキュー内のメッセージ数を取得しています。 ただし、この情報は随時(デフォルトでは5秒ごとに)更新されているようです。私はその情報が常に最新であると思っていました。それは、一定の間隔で更新された管理ページでした。RabbitMQとキューデータ

リアルタイム情報を含むキュー内のメッセージ数を取得する方法はありますか?

あなたは

答えて

1

管理データベースは、デフォルトでは各5秒に更新されますありがとうございます。

リアルタイム値はコマンドラインrabbitmqctl list_queuesを使用してください。

使用しよう:

channel.messageCount(you_queue)

それはあなた

/** * Returns the number of messages in a queue ready to be delivered * to consumers. This method assumes the queue exists. If it doesn't, * an exception will be closed with an exception. * @param queue the name of the queue * @return the number of messages in ready state * @throws IOException Problem transmitting method. */ long messageCount(String queue) throws IOException;

+0

のためのおかげで動作するかどうかを確認するが、私はしないことによって、Javaアプリケーションからそれを実行する必要がありコンソール(とコンソールでは、それは遅いクエリのようです)。 – jandres

+0

messageCountメソッドは私にとっては機能しません。常に0のメッセージを返します。詳細については、私はSpring-amqpフレームワークを使用しています。 – jandres

関連する問題