2017-12-27 12 views
0

ich SQL Server 2012, um Absender bin mit und Servicebüros EmpfängerService Broker, kommt Nachricht Zielserver, aber es bleibt beim Sender Warteschlange

und ich habe folgenden Vertrag und die Nachricht auf beide

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


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

bei Absender:

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

ich habe die Strecke am Empfänger als

erstellt

, wenn ich vom Absender sendet Nachricht aus, diese wird erreicht Warteschlange des Zielservers, aber es bleibt bei sys.transmission_queue beim Sender warum diese Nachricht nicht vom Absender Warteschlange sys.transmission_queue

gelöscht wird, ist es eine Konfiguration, die ich anwenden soll?

+1

Gibt es eine Route am Target zurück zum Initiator? Ich habe sec was du beschreibst, wenn das nicht eingerichtet ist. –

+0

Es gibt eine Route vom Initiator zum Ziel wie folgt mit Absenderzertifikat, und bei Ziel gibt es die folgende Route create ROUTE [RouteDataReceiver] \t MIT ADRESSE = N'TRANSPORT ' –

+0

Ich habe gelesen, dass eine Bestätigung vom Empfänger gesendet werden sollte Absender, um den Absender bitten, die Nachricht aus sys.transmission_queue zu löschen, wie kann ich wissen, warum diese Bestätigung nicht gesendet wird –

Antwort

0

, weil die Strecke an Empfänger Transport

Dienst beim Sender wie folgt umbenannt werden sollte [tcp: // Computername: PORT/UniqueServiceName]

um Empfänger-Service zu lassen weiß, welche es IP senden soll die Quittung zu

+0

Umbenannt? Oder ist es Adresse zu diesem Wert? Der Name der Route sollte keinen Einfluss darauf haben, wie sie funktioniert, während die Adresse dies sicher tut. –

Verwandte Themen