2013-05-15 3 views
2

NServiceBus를 사용해 본 경험이 없으므로 시나리오를 완성 할 수 있는지 확인하고 싶습니다. 두 대의 컴퓨터가 있습니다 : A와 B입니다. 컴퓨터 A에는 nservicebus를 통해 동일한 컴퓨터에있는 대기열로 메시지를 보내는 구성 요소가 배포되었습니다. 메시지를 받아야하는 다른 구성 요소가 있습니다. 불행히도 지금은 머신 A (머신 B에서 작동)에 배포 할 수는 없지만, 이미 보낸 사람이 보낸 메시지를 가져오고 싶습니다. 가능한가? 나는이 같은 수신기에 입력 큐를 정의 할 때 :NServiceBus - 다른 컴퓨터의 대기열에 액세스

<MsmqTransportConfig InputQueue="[email protected]" ErrorQueue="[email protected]" NumberOfWorkerThreads="1" MaxRetries="5"/> 

나는 예외를 얻을 : 입력 큐는이 프로세스와 동일한 시스템에 있어야합니다. 이 원격 대기열에서 메시지를 검색하는 데 사용할 수있는 구성 방법이 있습니까?

답변

1

시스템의 배포 토폴로지를 변경하는 경우 첫 번째 구성 요소가 두 번째 시스템으로 메시지를 보내도록 구성한 다음 두 번째 대기열에 남겨진 메시지를 일회 수동으로 이동해야합니다.

1

"localhost"의 대기열에는 "@localhost"를 포함하면 안됩니다. 설정은 다음과 같습니다 :

@ symobl은 끝점에서 원격 대기열을 참조한다고 생각합니다. MSMQ에서 원격 트랜잭션 수신을 수행하려는 성능이 매우 낮기 때문에 엔드 포인트의 입력 대기열에 대해 원격 대기열을 사용할 수 없습니다. (Load Balancing with the Distributor의 "MSMQ v4는 무엇입니까?"섹션을 참조하십시오.)

배포 토폴로지를 변경하면 수행하려는 작업이 정확하면 Udi의 대답은 정확합니다.

+0

나는이 질문을 편집했다. 큐 이름에서 실수를했습니다. 로컬 호스트가 아니라 Machine2 여야합니다. 그러나 당신의 대답은 여전히 ​​정확합니다. 이 경우 원격 대기열을 사용할 수 없습니다. –

관련 문제