Publish/Subscribe-IVT für IBM MQ classes for JMS
Ein Publish/Subscribe-Installationsprüftest (IVT) wird mit IBM® MQ classes for JMSbereitgestellt. Das Programm verbindet sich entweder im Bindungs- oder im Clientmodus mit einem Warteschlangenmanager, subskribiert ein Thema, veröffentlicht eine Nachricht im Thema und ruft dann die soeben von ihm veröffentlichte Nachricht ab. Das Programm kann alle Objekte, die es benötigt, dynamisch während der Laufzeit erstellen und konfigurieren oder mithilfe von JNDI verwaltete Objekte aus einem Verzeichnisservice abrufen.
Führen Sie zuerst den Installationsprüftest ohne Verwendung von JNDI aus, da der Test eigenständig ist und keine Verwendung eines Verzeichnisservice erfordert. Eine Beschreibung der verwalteten Objekte finden Sie unter JMS -Objekte mit dem Verwaltungstool konfigurieren.
Publish/Subscribe-Installationsprüftest ohne Verwendung von JNDI
Bei diesem Test erstellt und konfiguriert das Programm des Installationsprüftests alle von ihm benötigten Objekte dynamisch zur Laufzeit und verwendet kein JNDI.
Für die Ausführung des Programms des Installationsprüftests wird ein Script zur Verfügung gestellt. Das Script wird auf AIX® and Linux®-Systemen als PSIVTRun und unter Windows als PSIVTRun.bat bezeichnet und befindet sich im Unterverzeichnis bin des IBM MQ classes for JMS-Installationsverzeichnisses.
PSIVTRun -nojndi [-m qmgr ] [-bqm brokerQmgr ] [-v providerVersion ] [-t]
PSIVTRun -nojndi -client -m qmgr -host hostname [-port port ] [-channel channel ]
[-bqm brokerQmgr ] [-v providerVersion ] [-ccsid ccsid ] [-t]
- -m Warteschlangenmanager
- Der Name des Warteschlangenmanagers, zu dem das Programm des Installationsprüftests eine Verbindung herstellt. Wenn Sie den Test im Bindungsmodus ausführen und diesen Parameter übergehen, verbindet sich das Programm des Installationsprüftests mit dem Standardwarteschlangenmanager.
- -host Hostname
- Der Hostname oder die IP-Adresse des Systems, auf dem der Warteschlangenmanager ausgeführt wird.
- -port Port
- Die Nummer des Ports, an dem der Listener des Warteschlangenmanagers empfangsbereit ist. Der Standardwert ist
1414. - -channel Kanal
- Der Name des MQI-Kanals, den das Programm des Installationsprüftests verwendet, um sich mit dem Warteschlangenmanager zu verbinden. Der Standardwert ist
SYSTEM.DEF.SVRCONN. - -bqm Broker-Warteschlangenmanager
- Der Namen des Warteschlangenmanagers, für den der Broker aktiv ist. Der Standardwert ist der Name des Warteschlangenmanagers, zu dem das Programm des Installationsprüftests eine Verbindung herstellt.
Dieser Parameter ist für Warteschlangenmanager mit der Versionsnummer
v7 oder höher nicht relevant. - -v providerVersion
- Der Release-Level des Warteschlangenmanagers, zu dem das Programm des Installationsprüftests erwartungsgemäß eine Verbindung herstellt.
Mit diesem Parameter wird die Eigenschaft PROVIDERVERSION eines MQTopicConnectionFactory-Objekts festgelegt. Er weist dieselben gültigen Werte wie die Eigenschaft PROVIDERVERSION auf. Weitere Informationen zu diesem Parameter, einschließlich seiner gültigen Werte, finden Sie in der Beschreibung der Eigenschaft PROVIDERVERSION unter Eigenschaften von IBM MQ classes for JMS -Objekten.
Der Standardwert ist
unspecified. - -ccsid ccsid
- Die ID (CCSID) des codierten Zeichensatzes oder der Codepage, der bzw. die von der Verbindung verwendet werden soll. Der Standardwert ist
819. - -t
- Die Traceerstellung ist aktiviert. Standardmäßig ist die Traceerstellung inaktiviert.
5724-H72, 5655-R36, 5724-L26, 5655-L82 (c) Copyright IBM Corp. 2008, 2026. All Rights Reserved.
IBM MQ classes for Java Message Service 7.0
Publish/Subscribe Installation Verification Test
Creating a TopicConnectionFactory
Creating a Connection
Creating a Session
Creating a Topic
Creating a TopicPublisher
Creating a TopicSubscriber
Creating a TextMessage
Adding text
Publishing the message to topic://MQJMS/PSIVT/Information
Waiting for a message to arrive [5 secs max]...
Got message:
JMSMessage class: jms_text
JMSType: null
JMSDeliveryMode: 2
JMSExpiration: 0
JMSPriority: 4
JMSMessageID: ID:414d5120514d5f6d627720202020202001edb14620006706
JMSTimestamp: 1187182520203
JMSCorrelationID: ID:414d5120514d5f6d627720202020202001edb14620006704
JMSDestination: topic://MQJMS/PSIVT/Information
JMSReplyTo: null
JMSRedelivered: false
JMSXUserID: mwhite
JMS_IBM_Encoding: 273
JMS_IBM_PutApplType: 26
JMSXAppID: QM_mbw
JMSXDeliveryCount: 1
JMS_IBM_PutDate: 20070815
JMS_IBM_ConnectionID: 414D5143514D5F6D627720202020202001EDB14620006601
JMS_IBM_PutTime: 12552020
JMS_IBM_Format: MQSTR
JMS_IBM_MsgType: 8
A simple text message from the MQJMSPSIVT program
Reply string equals original string
Closing TopicSubscriber
Closing TopicPublisher
Closing Session
Closing Connection
PSIVT finished
Publish/Subscribe-Installationsprüftest unter Verwendung von JNDI
Bei diesem Test verwendet das Programm des Installationsprüftests JNDI für den Abruf von verwalteten Objekten aus einem Verzeichnisservice.
Damit Sie den Test ausführen können, müssen Sie zuerst einen Verzeichnisservice konfigurieren, der auf einem LDAP-Server (LDAP = Lightweight Directory Access Protocol) oder auf dem lokalen Dateisystem basiert. Außerdem müssen Sie das IBM MQ JMS -Verwaltungstool so konfigurieren, dass es den Verzeichnisservice zum Speichern verwalteter Objekte verwenden kann. Weitere Informationen zu diesen Voraussetzungen finden Sie unter Voraussetzungen für IBM MQ für JMS. Informationen zum Konfigurieren des IBM MQ-JMS-Verwaltungstools finden Sie im Abschnitt JMS-Verwaltungstool konfigurieren.
bin des IBM MQ classes for JMS-Installationsverzeichnisses. Geben Sie folgenden Befehl ein, um das Script auszuführen:IVTSetup
Das Script ruft das IBM MQ JMS -Verwaltungstool auf, um die verwalteten Objekte zu erstellen.Das MQTopicConnectionFactory-Objekt wird mit dem Namen 'ivtTCF' gebunden und mit den Standardwerten für alle seine Eigenschaften erstellt. Dies bedeutet, dass das Programm des Installationsprüftests im Bindungsmodus ausgeführt wird, sich mit dem Standardwarteschlangenmanager verbindet und die eingebettete Publish/Subscribe-Funktion verwendet. Wenn Sie möchten, dass das IVT-Programm im Client-Modus läuft, eine Verbindung zu einem anderen als dem Standard-Warteschlangenmanager herstellt oder IBM Integration Bus anstelle der eingebetteten Veröffentlichungs-/Abonnementfunktion verwendet, müssen Sie das Verwaltungstool IBM MQ JMS oder IBM MQ Explorer verwenden, um die entsprechenden Eigenschaften des Objekts MQTopicConnectionFactory zu ändern. Informationen zur Verwendung des IBM MQ JMS -Verwaltungstools finden Sie unter JMS -Objekte mit dem Verwaltungstool konfigurieren. Informationen zur Verwendung von IBM MQ Explorer finden Sie in der mit IBM MQ Explorer bereitgestellten Hilfe.
Das MQTopic-Objekt wird mit dem Namen 'ivtT' gebunden und mit den Standardwerten für alle seine Eigenschaften erstellt. Ausgenommen hiervon ist die Eigenschaft TOPIC, die den Wert MQJMS/PSIVT/Information hat.
PSIVTRun -url "providerURL" [-icf initCtxFact ] [-t]
Die Parameter in dem Befehl haben folgende Bedeutungen:- -url " Provider-URL "
- Die URL (Uniform Resource Locator) des Verzeichnisservice. Die URL kann eines der folgenden Formate aufweisen:
ldap://hostname/contextNamefür einen Verzeichnisservice, der auf einem LDAP-Server basiertfile:/directoryPathfür einen Verzeichnisservice, der auf dem lokalen Dateisystem basiert
- -icf Ausgangskontextfactory
- Der Klassenname der Ausgangskontextfactory, der einen der folgenden Werte aufweisen muss:
com.sun.jndi.ldap.LdapCtxFactoryfür einen Verzeichnisservice, der auf einem LDAP-Server basiert. Dies ist der Standardwert.com.sun.jndi.fscontext.RefFSContextFactoryfür einen Verzeichnisservice, der auf dem lokalen Dateisystem basiert
- -t
- Die Traceerstellung ist aktiviert. Standardmäßig ist die Traceerstellung inaktiviert.
Ein erfolgreicher Test erstellt eine Ausgabe, die derjenigen eines erfolgreichen Tests ohne Verwendung von JNDI ähnelt. Der Hauptunterschied besteht darin, dass die Ausgabe anzeigt, dass der Test JNDI für den Abruf eines MQTopicConnectionFactory-Objekts und eines MQTopic-Objekts verwendet.
Es ist zwar nicht unbedingt erforderlich, wird jedoch empfohlen, nach dem Test eine Bereinigung durchzuführen. Löschen Sie hierfür die verwalteten Objekte, die vom IVTSetup-Script erstellt wurden. Zu diesem Zweck wird ein Script bereitgestellt. Das Script heißt IVTTidy auf AIX and Linux-Systemen und IVTTidy.bat unter Windows und befindet sich im Unterverzeichnis bin des IBM MQ classes for JMS-Installationsverzeichnisses.
Problembestimmung beim Publish/Subscribe-Installationsprüftest
- Wenn das IVT-Programm eine Meldung schreibt, dass es eine Klasse nicht finden kann, überprüfen Sie, ob Ihr Klassenpfad korrekt gesetzt ist, wie in Setzen von Umgebungsvariablen für IBM MQ für JMS/Jakarta Messaging beschrieben.
- Der Test kann mit der folgenden Nachricht fehlschlagen:
Außerdem ist dieser Nachricht der Ursachencode 2059 zugeordnet. Die Variablen in der Nachricht haben folgende Bedeutungen:Failed to connect to queue manager ' qmgr ' with connection mode ' connMode ' and host name ' hostname '- qmgr
- Der Name des Warteschlangenmanagers, zu dem das Programm des Installationsprüftests versucht, eine Verbindung herzustellen. Diese Nachrichteneinfügung ist leer, wenn das Programm des Installationsprüftests versucht, sich im Bindungsmodus mit dem Standardwarteschlangenmanager zu verbinden.
- connMode
- Der Verbindungsmodus, entweder
BindingsoderClient. - Hostname
- Der Hostname oder die IP-Adresse des Systems, auf dem der Warteschlangenmanager ausgeführt wird.
- Der Test kann mit der folgenden Nachricht fehlschlagen:
Diese Nachricht bedeutet, dass eine Verbindung mit dem LDAP-Server besteht, allerdings ist der LDAP-Server nicht ordnungsgemäß konfiguriert. Der LDAP-Server ist entweder nicht für das Speichern von Java-Objekten konfiguriert oder die Berechtigungen für die Objekte oder das Suffix sind nicht korrekt. Falls Sie in dieser Situation weitere Hilfe benötigen, lesen Sie die Dokumentation Ihres LDAP-Servers.Unable to bind to object - Der Test kann mit der folgenden Nachricht fehlschlagen:
Diese Nachricht bedeutet, dass der Warteschlangenmanager nicht ordnungsgemäß eingerichtet ist, um eine Clientverbindung von Ihrem System zu akzeptieren. Weitere Informationen finden Sie unter Konfigurieren eines Warteschlangenmanagers zur Annahme von Client-Verbindungen auf Multiplattformen.The security authentication was not valid that was supplied for QueueManager 'qmgr' with connection mode 'Client' and host name 'hostname'