Zugriff auf MQ mit JMS
ich bin mit MQ7 und versuchen, Zugriff auf eine Warteschlange mit der JMS api. Diese Fehlermeldung bekommen.
Hat jemand es schon einmal gesehen? Wie kann ich dies beheben? TIA
Exception in thread "main" com.ibm.msg.client.jms.DetailedJMSException:
JMSFMQ6312: Eine Ausnahme in der Java - (tm) MQI. Die Java(tm) MQI-hat geworfen eine Ausnahme, die das problem beschreiben. Siehe die verlinkten Ausnahme für weitere Informationen.Verursacht durch: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2495;AMQ8568: Die native JNI-Bibliothek 'mqjbnd' wurde nicht gefunden. [3=mqjbnd]
Verursacht durch: java.lang.UnsatisfiedLinkError: no mqjbnd in java.Bibliothek.Pfad
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist fast immer verursacht durch eine Kombination von einer unvollständigen client installieren und/oder ein CLASSPATH-Problem. Viele Menschen packen Sie die jar-Dateien anstatt ausführen die complete-und nicht unbedingt alle von Ihnen. Zusätzlich zu versichern sind alle benötigten Programme vorhanden sind, mit der install-Medien bietet mehrere zusätzliche Funktionen, wie Diagnose und trace. Es ist auch gewährleistet, dass die Wartung angewendet werden kann. Das ein Fehler in WMQ client installieren Medien zum kostenlosen download als SupportPac MQC7. Die CLASSPATH-Einstellung sein sollte, wie beschrieben, in der WebSphere MQ Mit Java Handbuch.
Wenn die client-Installation erfolgt von der IBM Medien und die Umgebung eingerichtet ist, wie pro die docs, das behebt fast alle Fälle, wie Sie hier berichtet. Es gibt ein paar Installation Verification Test apps (einige dieser Diagnose-installiert mit der vollen Medien, die ich erwähnt habe) die sind hier beschrieben und die helfen können, festzustellen, ob ein problem mit der installation oder mit dem code.
dspmqver.exe
zeigt "Die native JNI-Bibliothek '?' wurde nicht gefunden." Ich finde nicht gute Schritt für Schritt Anleitung, wie man samples arbeiten...Wohl ein bisschen zu spät, aber ich hatte das gleiche problem und festgestellt, dass diese vermieden werden können, wenn Sie einen anderen Anschluss-Modus, wenn eine Verbindung zu einem remote-Warteschlange. Standardmäßig ist die
MQConnectionFactory
verwendetWMQ_CM_BINDINGS
als es Verbindungs-Modus. Wenn Sie es ändern, umWMQ_CM_CLIENT
(oder je nachdem, welcher Verbindungsmodus Sie nicht benötigen native Bibliotheken) Sie sollten in Ordnung sein.Stimmen mit Johnam, es geschah, weil die ConnectionFactory-set als server standardmäßig eingestellt werden müssen, um als client, Sie sagte, dass es funktioniert auf der gleichen Maschine. Da traf ich auch die gleiche situation, es laufen, wenn Sie auf derselben Maschine, in diesem Fall, weil Ihre Maschine ist wie ein Fehler in WMQ-Server, so tun das Programm, aber wenn du auf die andere Maschine, dann muss Ihr Programm gesetzt als client.
Ich es beheben mit setzen einige parameter auf ConnectionFactory:
Den VM-parameter
-Djava.library.path=/opt/mqm/java/lib64
für mich funktioniert. Meine Umgebung ist 64bit Suse mit MQ installiert und mein Programm ist mit 'Bindungen' TransporttypDas Problem mit der Path-variable auf Eigenschaften. Versuchen Sie zum ausführen von code durch Angabe MQInstallation Dir :\Lib64 Weg vor MQInstallation Dir :\Lib
Hinzufügen, die unten auf den tomcat-Argumente:
Wenn das Installations-Verzeichnis ist anders als die oben genannten, verwenden Sie den entsprechenden Speicherort.