2017-12-27 25 views
0

보낸 사람 큐에 유지와 나는 모두서비스 브로커는 메시지가 대상 서버에 도착하지만 내가 보낸 사람과받는 사람의 서비스 브로커</p> <p>에서 SQL 서버 2012을 사용하고

create MESSAGE TYPE [//Photo/Message] 
    VALIDATION = NONE 


create CONTRACT [//photo/Contract] 
    ([//Photo/Message] SENT BY INITIATOR) 

에 다음과 같은 계약 및 메시지에서이 발신자 :

create SERVICE [tcp://192.168.4.173:4022/HadoopSender/Audit/HadoopDataSender] 
    AUTHORIZATION dbo 
    ON QUEUE dbo.HadoopInitiatorAuditQueue - 

제가

으로 수신기 경로를 작성한

내가 보낸에서 메시지를 보낼 발행, 그것은 대상 서버의 큐에 도달하지만,이 메시지가 보낸 사람 큐 sys.transmission_queue

에서 삭제되지 않는 이유는 내가 신청해야 모든 구성이 보낸 에 sys.transmission_queue에서 유지?

+1

대상에 이니시에이터까지의 경로가 있습니까? 그게 설정되지 않았을 때 당신이 묘사하는 것을 초 만났습니다. –

+0

보낸 사람 인증서를 사용하여 다음과 같이 이니시에이터에서 대상까지의 경로가 있으며 대상에 다음 경로가 있습니다. ROUTE [RouteDataReceiver] \t WITH ADDRESS = N'TRANSPORT ' –

+0

수신자로부터 수신 확인을 보내야한다는 내용을 읽었습니다 보낸 사람에게 sys.transmission_queue에서 메시지를 삭제하도록 요청하려면이 확인이 전송되지 않은 이유를 어떻게 알 수 있습니까? –

답변

0

수신기에서 경로는 보낸 사람의 전송

서비스는 다음과 같은 이름을 변경해야하기 때문에 [TCP : //의 MachineName : PORT/UniqueServiceName]

수신기 서비스가 보내야합니다 IP있는 알 수 있도록하기 위해 수신 확인

+0

이름이 변경 되었습니까? 아니면 그 가치에 주소가 있습니까? 경로의 이름은 주소가 확실히 작동하는 동안 그것이 어떻게 기능하는지에 관계가 없어야합니다. –