Ich verwende MQ7 und versuche, mit JMS-APIs auf eine Warteschlange zuzugreifen. Dieser Fehler wird angezeigt. Hat es schon mal jemand gesehen? Wie löse ich das? TIA
Ausnahme im Thread "main" com.ibm.msg.client.jms.DetailedJMSException: JMSFMQ6312: In Java (tm) MQI ist eine Ausnahme aufgetreten. Der Java (tm) -MQI hat eine Ausnahme ausgelöst, die das Problem beschreibt. Weitere Informationen finden Sie in der verknüpften Ausnahme.
Erstellt von: com.ibm.mq.jmqi.JmqiException: CC = 2; RC = 2495; AMQ8568: Die native JNI-Bibliothek 'mqjbnd' wurde nicht gefunden. [3 = mqjbnd]
Erstellt von: java.lang.UnsatisfiedLinkError: no mqjbnd in java.library.path
Dies wird fast immer durch eine Kombination aus einer unvollständigen Client-Installation und / oder einem CLASSPATH-Problem verursacht. Viele Leute greifen die JAR-Dateien, anstatt die komplette Installation durchzuführen, und erhalten nicht unbedingt alle. Neben der Sicherstellung, dass alle erforderlichen Binärdateien vorhanden sind, bietet die Verwendung des Installationsmediums mehrere zusätzliche Funktionen, z. B. Diagnose und Trace. Es stellt auch sicher, dass Wartung angewendet werden kann. Die WMQ-Client-Installationsmedien können kostenlos als SupportPac MQC7 heruntergeladen werden. Die CLASSPATH-Einstellung sollte wie in WebSphere beschrieben sein MQ Verwenden von Java Handbuch.
Wenn die Clientinstallation von IBM-Medien durchgeführt wird und die Umgebung gemäß den Dokumenten eingerichtet wird, werden dadurch fast alle Fälle behoben, die Sie hier gemeldet haben. Es gibt ein paar Install Verification Test-Apps (einige dieser Diagnoseprogramme sind mit den vollständigen Medien installiert, die ich erwähnt habe) die hier beschrieben werden und mit denen festgestellt werden kann, ob ein Problem mit der Installation oder mit dem Code verbunden ist.
Wahrscheinlich ein bisschen spät, aber ich hatte das gleiche Problem und festgestellt, dass dies vermieden werden kann, wenn Sie einen anderen Verbindungsmodus beim Herstellen einer Verbindung zu einer Remote-Warteschlange verwenden. Standardmäßig verwendet der MQConnectionFactory
WMQ_CM_BINDINGS
als Verbindungsmodus. Wenn Sie es in WMQ_CM_CLIENT
ändern (oder den Verbindungsmodus, der keine systemeigenen Bibliotheken benötigt), sollten Sie in Ordnung sein.
Vereinbaren Sie mit Johnam, es passiert, weil die ConnectionFactory als Server standardmäßig festgelegt wurde, muss es als Client festgelegt werden, Sie sagten, dass es auf demselben Computer funktioniert. Weil ich auch die gleiche Situation getroffen habe, läuft es auf demselben Rechner, in diesem Fall, weil Ihr Rechner als WMQ-Server das tut, aber wenn Sie auf einem anderen Rechner laufen, dann muss Ihr Programm als Client eingestellt werden.
Ich repariere es, indem ich einen Parameter auf ConnectionFactory setze:
%Vor%Das Problem tritt mit der Path-Variable bei Systemeigenschaften auf. Versuchen Sie, Code auszuführen, indem Sie MQInstallation Dir: \ Lib64 path before MQInstallation Dir: \ Lib
angeben