2014-07-24 5 views
1

정상적으로 실행되는 입력 대기열이 있습니다. 메시지가 오류 큐에 도착하는 경우가 있습니다. 이제이 메시지를 검사하고이 특정 메시지가 전달된다는 것을 알면 입력 대기열로 다시 전달할 수 있기를 원합니다.Rebus에서 오류 대기열을 검사하는 방법

오류 큐 검사는 어떻게 시작합니까? 모범 사례가 있습니까? .CreateBus().Start()을 수행 할 수는 없으므로 일반 처리기에서 처리기가 트리거됩니다.

답변

2

대기열을 검사하는 방법과 선택한 옵션은 선택한 전송 방법에 따라 다릅니다.

당신이 실패한 메시지의 전달을하여 큐 (입력 큐, 오류 큐, MSMS 데드 - 레터 큐)을 검사하고 다시 시도 MSMQ와 함께 가장 쉬운 방법을 수수께끼를 사용하는 경우는 Rebus Snoop을 발사하는 것입니다. Rebus도 ReturnToSourceQueue CLI tool for MSMQ입니다.

Azure 서비스 버스을 사용중인 경우 Paolo Salvatori's Service Bus Explorer을 추천 할 수 있습니다. 몇 가지 프로젝트에서 약간 혼란 스러웠습니다.

RabbitMQ와

, 나는 보통 큐를 검사 할 수 RabbitMQ에 내장 된 웹 관리 플러그인을 사용하고 수수께끼는뿐만 아니라 ReturnToSourceQueue CLI tool for RabbitMQ와 함께 제공됩니다.

당신이 SQL 서버를 사용하는 경우, 나는 SQL Server Management Studio를 점화에 당신의 SQL-FU를 받고 추천 할 수 있습니다, 당신은 자동 전달 또는 어떤 종류의 작업을 수행 뭔가를 코딩 할 경우

) (예 : MsmsMessageQueue (MsmqUtil), RabbitMqMessageQueue, AzureServiceBusMessageQueue 등)을 사용하여 원시 전송 메시지의 수신 및 전송을 처리하는 것이 좋습니다. 이는 여러 번 사용했던 접근 방식입니다. 나 자신에게 예. 제 2 수준의 조잡한 재시도 메커니즘을 구현하고 실패한 메시지 등을 포워딩하고 보관하십시오.

+0

나는 하늘색 서비스 버스를 사용한다고 언급해야합니다. 죄송합니다! 단서가 없다면 접근법에 영향을 미치지 않을 것입니다. – dampee

+0

그에 따라 답변을 확장했습니다. – mookid8000

+0

감사합니다. 서비스 버스 탐색기를 사용해 보았습니다. 그러나 레 버스는 그 움직임을 좋아하지 않았다. 메시지를 '있는 그대로'입력 대기열로 이동할 수 있습니까? – dampee