2015-01-13 2 views
1

메시지의 빠른 저장을 위해 을 구현하고 연결이 끊긴 모드로 처리하는 중입니다. 모든 메시지 브로커의 일반적인 사용법. 관리 요구 사항의MSMQ 최대 개수 메시지 알림

하나는 큐 메시지 (처리되지 않은) 수가 1000

에 도달하면 관리자/개발자에게 자동 통지를 보내는 것입니다
  • 그것이 상자 밖으로 할 수 ? 그렇다면 어떻게?
  • 그렇다면 x-second마다 카운트를 확인하기 위해 일부 Windows 서비스 (또는 스케줄러)를 작성해야합니까?

어떤 제안이나 과거의 경험을 환영합니다 ..

답변

0

유일한 (부분적으로) 내장 솔루션이 서버에 당신에게 개인 큐에 대한 정보를 제공하는 MSMQ 대기열performance counter을 설정하는 것입니다 .

SCOM management packevtools과 같은 일부 타사 솔루션이 있거나 System.Messaging을 사용하여 자신을 굴릴 수 있습니다.

희망이 있습니다.

1

상업용 솔루션은 QueueMonitor입니다.

면책 조항 : 나는 해당 소프트웨어의 작성자입니다.

편집

이 시나리오

몇 가지 팁 :

  • 세트 메시지의 UseDeadLetterQueue true로 - 적어도 그들은 손실되지 않습니다 메시지를 전달 어떤 문제가있을 경우이 방법은 있지만 시스템의 죽은 편지로 이동 열.
  • 이 메시지의 Recoverable 속성을 true로 설정하면 성능이 저하되지만 장기간 실행되는 이런 종류의 시나리오에서는 메모리를 다시 시작하거나 실패하면 메시지가 느슨해지기에 너무 위험합니다.
  • 메시지가 더 이상 유효하지 않으면 일정 기간 후에 TimeToReachQueue을 사용하여 메시지를 자동 삭제할 수 있습니다.
+0

이 링크는 질문에 대답 할 수 있지만 답변의 핵심 부분을 여기에 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. – MickyD

+0

링크는 유틸리티를 가리키므로 여기서 복사 할 부분이 많지 않습니다. 그러나 나는 OP 시나리오에 대한 몇 가지 팁을 더 제공 할 수 있다는 것을 깨달았고 그에 따라 답변을 편집했습니다. –

+0

게시물 개선을 위해 고맙습니다 Dejan. 나는 실제로 좋은 _tool_을 요약하는 것을 의미했지만, 당신이 한 것은 훨씬 더 좋습니다. :) – MickyD