2013-10-17 21 views
5

Ich habe Probleme beim Testen des MQSC-Adapters in BizTalk für die Kommunikation mit einer Warteschlange auf Z/OS Host.BizTalk MQSC-Adapter

Das Test-Szenario: Während des Sendens von Nachrichten über BizTalk stoppe ich (Force) und starte den Host-Kanal, um ein HOST-IPL nachzuahmen.

In diesem Szenario erlebte ich die folgenden Ergebnisse:

Manchmal gibt es Nachrichten links auf dem Host-MQ uncomitted. Auch nachdem der Kanal neu gestartet wurde. Auf diese Weise weiß ich nicht, ob die Nachrichten von BizTalk verarbeitet wurden.
Frage Gibt es eine Möglichkeit, um sicherzustellen, dass Nachrichten immer auf dem Host-MQ begangen werden oder auf der MQ noch zur Verfügung, wenn nicht

begangen

Sobald ich doppelte Nachrichten erfahren und einmal, dass Nachrichten wurden Da diese verloren Dinge passierten nur einmal. Ich hoffe, in meinen Testanwendungen/-verfahren Probleme zu finden.
Nicht wirklich eine Frage, aber wenn andere die gleichen Fehler erfahren haben würde ich gerne wissen.

Der Test-Setup

  • Biztalk 2009 auf 2 Knoten
  • WebSphere MQ-Client 7.5.0.2 (Transaktionen unterstützt)
  • MSDTC - XA Transactions aktiviert sind (Edited Kommentare zu reflektieren)
  • MS BizTalk-Adapter für Host-Systeme 2.0 MS Biztalk Adapters for Host Systems 2.0

Portkonfiguration
Erhalten Location
Receive Location

senden Hafen
Send Port

+1

FWIW wir verwendet nicht-transaktionale 7.0.1 ohne Problem in einer 2-Knoten-BTS2009-Gruppe zu einem AIX MQ Host. Nur um zu überprüfen, haben Sie [XA Unterstützung auf MSDTC] aktiviert (http://msdn.microsoft.com/en-us/library/gg167382.aspx)? – StuartLC

+0

Danke für den Kommentar StuartLC: Ja, wir haben XA-Transaktionen auf MSTDC aktiviert. – Jorn

Antwort

1

Wenn Sie MQ-Transaktionen verwenden, dass nur MQPMO_SYNCPOINT und MQCMIT, dann ist die Trennung (entweder explizit oder implizit aufgrund STOP CHANNEL(chl-name) MODE(FORCE)) wird eine ausstehende Transaktion verursachen abgeschlossen sein (bei expliziter Trennung, bei einem impliziten Zurücksetzen).

Wenn Sie 2-PC-Transaktionen mit einem Transaction Manager (TM) verwenden, muss die Transaktion vom TM bearbeitet werden, je nachdem, wie weit es bereits fortgeschritten ist, ist es beispielsweise bereits vorbereitet.