MQI-Client: Standardverhalten von Client- und Serververbindungskanälen
- SHARECNV(0)
- Gibt an, dass kein gemeinsamer Datenaustausch über einen TCP/IP-Socket stattfindet. Die Kanalinstanz verhält sich genau so, als ob es sich um einen Version 6.0 -Server-oder Clientverbindungskanal handelt, und Sie erhalten keine zusätzlichen Funktionen wie bidirektionale Überwachungssignale, die verfügbar sind, wenn Sie SHARECNV auf
1
oder höher setzen. Verwenden Sie den Wert0
nur, wenn Clientanwendungen vorhanden sind, die nicht ordnungsgemäß ausgeführt werden, wenn Sie SHARECNV auf1
oder höher setzen. - SHARECNV(1)
- Gibt an, dass kein gemeinsamer Datenaustausch über einen TCP/IP-Socket stattfindet. Die Leistung auf verteilten Servern gleicht dem Leistungsverhalten bei einem Wert von
0
. Die Funktionalität für den Austausch von Client-Überwachungssignalen (in einem MQGET-Aufruf oder nicht) und Vorauslesen ist verfügbar und das Stilllegen (Quiesce) von Kanälen kann gesteuert werden. Sie können diese Einstellung normalerweise mit vorhandenen Clientanwendungen von Version 6.0 verwenden. - SHARECNV(2) bis SHARECNV(999999999)
- Jeder dieser Werte gibt die Anzahl der gemeinsamen Datenaustauschaktionen an. Wenn der Clientverbindungswert SHARECNV nicht dem Serververbindungswert SHARECNV entspricht, wird der niedrigere Wert verwendet. Der Standardwert ist
SHARECNV(10)
. Dies sind 10 Threads für bis zu 10 Client-Datenaustauschaktionen pro Kanalinstanz. Auf verteilten Servern kommt es bei SHARECNV-Kanälen jedoch zu Leistungsproblemen, die, sofern möglich, durchSHARECNV(1)
minimiert werden sollten.
1
unterstützt der Kanal die folgenden Funktionen:- Bidirektionale Überwachungssignale
- Administratorstop-quiesce
- Vorauslesen
- Asynchrone-konsumieren durch Clientanwendungen
MQCNO_NO_CONV_SHARING
und die Anwendung mit einem Kanal verbinden, bei dem SHARECNV auf einen Wert größer als 1
gesetzt ist. Das Ergebnis ist dasselbe wie das Verbinden der Anwendung mit einem Kanal, bei dem SHARECNV auf 1
gesetzt ist.Leistung
Die Änderung in Version 7.0 für die Verwendung gemeinsam genutzter Dialoge und weitere funktionale Erweiterungen, die in Version 8.0eingeführt wurden, können sich auf die Leistung auf verteilten Servern auswirken. Weitere Informationen finden Sie unter Client-und Serververbindungskanäle optimieren.
Überwachungssignale
Ab Version 7.0können Überwachungssignale jederzeit in beide Richtungen über den Kanal fließen. Das Verhalten von SHARECNV(0)
und Version 6.0 bedeutet, dass Überwachungssignale nur fließen, wenn ein MQGET -Aufruf wartet.
Kanalexits
1
ist). Es ist zwar unwahrscheinlich, jedoch möglich, dass die Änderung Auswirkungen auf das Verhalten eines vorhandenen Exits hat. Es
ergibt sich folgende Änderung:- Durch Sende- oder Empfangsexits kann die
MQCD
-Struktur in einem MQXR_INIT-Aufruf geändert werden. Die Auswirkungen dieser Exits sind unterschiedlich und hängen davon ab, ob ein Kanal für den gemeinsamen Datenaustausch verwendet wird:- Wenn das
MQCXP
-FeldSharingConversations
, das an die Exitinstanz übergeben wird, auf den WertFALSE
gesetzt wird, ist diese Exitinstanz die erste - oder einzige - Datenaustauschaktion, die in der Kanalinstanz ausgeführt wird. Kein anderer Exit kann denMQCD
zu diesem Zeitpunkt ändern und amMQCD
vorgenommene Änderungen können sich auf die Ausführung des Kanals auswirken. - Wenn das
MQCXP
-FeldSharingConversations
, das an die Exitinstanz übergeben wird, auf den WertTRUE
gesetzt wird, ist diese Exitinstanz eine nachfolgende Datenaustauschaktion. In diesem Fall wird die Kanalinstanz von mehreren Datenaustauschaktionen gemeinsam genutzt. AmMQCD
in der Exitinstanz vorgenommene Änderungen bleiben imMQCD
erhalten, können sich allerdings nicht auf die Ausführung des Kanals auswirken.
- Wenn das
- Sende-, Empfangs- und Sicherheitsexits können den
MQCD
ändern, wenn dasMQCXP
-FeldSharingConversations
auf den WertTRUE
gesetzt wird. Exitinstanzen in anderen Dialogen können dieMQCD
-Struktur gleichzeitig ändern. Aktualisierungen einer Exitinstanz können von einer anderen Instanz überschrieben werden. Um die Konsistenz der Felder imMQCD
zu gewährleisten ist es deswegen möglicherweise erforderlich, den Zugriff auf denMQCD
für diese unterschiedlichen Exitinstanzen zu serialisieren.
Eine Aktualisierung von
MQCD
, wenn das Feld SharingConversations
auf TRUE
gesetzt ist, hat keine Auswirkung auf die Kanalausführung. Nur Änderungen, die vorgenommen werden, wenn das Feld MQCXP
SharingConversations
in einem MQXR_INIT -Aufruf auf FALSE
gesetzt ist, ändern das Kanalverhalten.