Freigeben über


Transaktionsverarbeitung mit dem MSMQ-Adapter

In diesem Abschnitt wird die Funktionsweise von Transaktionen beim Empfangen und Senden erläutert.

Hinweis

Für den MSMQ-Adapter erstreckt sich eine Transaktion von der BizTalk-Datenbank „MessageBox“ bis zur lokalen Message Queuing-Warteschlange, auch wenn Sie eine Remotewarteschlange verwenden.

Sie können beim MSMQ-Adapter Transaktionen sowohl zum Senden als auch zum Empfangen verwenden. Bei transaktiven Sendevorgängen akkumuliert der Adapter Nachrichten, bis ein vollständiger Batch erreicht ist. Danach übermittelt der Adapter den Batch an den lokalen Message Queuing-Dienst als eine einzelne Transaktion. Wenn die Übermittlung fehlschlägt, versucht der Adapter, den Batch erneut zu übermitteln. Schlägt auch die erneute Übermittlung fehl, wechselt der Adapter zum sekundären Transport.

Hinweis

Der Adapter unterstützt transaktionale Lesevorgänge von Remotewarteschlangen nur mit Message Queuing 4.0 oder höher. In diesem Szenario müssen sowohl der BizTalk Server als auch der Message Queuing-Remoteserver Message Queuing 4.0 oder höher ausführen.

Bei transaktiven Empfangsvorgängen werden fehlgeschlagene Nachrichten vom Adapter angehalten, sodass keine der Nachrichten verloren geht. Während eines transaktiven Empfangsvorgangs fügt der Adapter Nachrichten einem Batch hinzu, bis dieser vollständig ist. Danach wird der Batch übermittelt:

  • Wenn keine Probleme auftreten und der Server die Nachrichten empfängt, führt der Adapter einen Commit der Transaktion aus.

  • Liegen Probleme vor, erstellt der Adapter im Rahmen der aktuellen Transaktion einen neuen Batch. Anschließend werden alle problembehafteten Nachrichten in den neuen Batch verschoben. Der erste Batch wird dann neu übermittelt, und der neue Batch wird als angehaltene Nachrichten übermittelt. Wenn während dieser erneuten Übermittlung keine Probleme auftreten, führt der Adapter das Commit der Transaktion aus.

    Wenn Sie einen MSMQ-Adaptersendehandler in einer geclusterten BizTalk-Hostinstanz ausführen, sollten Sie den MSMQ-Dienst in derselben Clustergruppe clustern, um die Transaktionskonsistenz sicherzustellen.

    Wenn DTC-Netzwerkzugriff im Hilfsprogramm DCOMCNFG deaktiviert ist, schlägt ein transaktionaler MSMQ-Remoteempfangsvorgang mit einer kryptischen Fehlermeldung fehl. Zur Ausführung eines transaktionalen Remoteempfangsvorgangs mit dem MSMQ-Adapter muss DTC-Netzwerkzugriff aktiviert sein. Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?LinkId=124623.

    Wenn Sie einen MSMQ-Adapterempfangshandler in einer geclusterten BizTalk-Hostinstanz ausführen, sollten Sie den MSMQ-Dienst in derselben Clustergruppe clustern, um lokale transaktive Lesevorgänge zu unterstützen, da MSMQ keine transaktionalen Remotelesevorgänge unterstützt. Weitere Informationen zum Ausführen von MSMQ-Adapterhandlern in einem gruppierten instance eines BizTalk-Hosts finden Sie unter Überlegungen zum Ausführen von Adapterhandlern in einem gruppierten Host.

Weitere Informationen

Zuverlässiges Messaging mit dem MSMQ-Adapter