2017-11-29 7 views
0

C#을 사용하여 activeMQ 대기열에서 현재 메시지 수를 얻으려고합니다.Apache NMS 보류중인 메시지 수

나는이 링크를 발견했다 (즉, 지금은 아주 오래된) ActiveMQ with C# and Apache NMS - Count messages in queue 하지만 큐를 열거하는 것은이 간단한 작업을위한 많은 작업처럼 보인다.

대기열 메시지 수를 얻는 유일한 방법입니까? 이 메서드를 사용하면 열거하는 동안 큐가 잠겨 있습니다 (다른 독자를 차단하고 싶지는 않습니다)?

감사합니다, 닉

답변

1

당신은 당신에게 정확한 답을받지 않습니다 다른 대답에 설명 된 바보 열거 일을 할 수 있습니다 또는 당신이 statistics broker plugin을 사용하고 브로커로부터 데이터를 조회 할 수 있습니다.

통계 플러그인을 사용하면 제어 대기열로 메시지를 보내고 사용자가 제공 한 replyTo 대상에 대한 응답을 수신하여 대상의 전체 통계를 얻을 수 있습니다.주의해야 할 점은 데이터를 구문 분석해야하지만 그렇게 열심히해서는 안됩니다.

열거 메서드는 대기열을 잠그지 않지만 브로커가 대기열로 들어가기 전에 대기열로 들어가기 전에 대기열 깊이에 제한이 있기 때문에 원하는대로 작동하지 않습니다. 당신은 정확한 카운트를 가지고 있는지 확신 할 수 없습니다.