Ich habe ein Java-Programm geschrieben, um eine Verbindung zu WebSphere MQ herzustellen, um Nachrichten zu veröffentlichen. Ich habe einen JNDI-Namespace, eine Verbindungsfactory, Ziele und einen Warteschlangenmanager in WebSphere MQ Explore erstellt. Wenn ich mein Programm starte, zeigt es ClassCastException
für den Typcast von string
bis ConnectionFactory
.
Hier ist mein Code. Kann jemand helfen, dieses Problem zu lösen.
JNDIUtil.java
%Vor%NewPublisher.java
%Vor%Erhalte den Fehler in diesen Zeilen:
%Vor%Sie vermissen einige JARs von MQ Client , damit dies funktioniert. Ich hatte den gleichen Fehler, und nach einigen weiteren Untersuchungen endete ich mit dieser Liste von Jars, damit das funktionierte:
Was Sie aus dem Kontext von jndi erhalten haben, war eine Referenz. Dies ist ein Rezept zum Erstellen der Verbindungsfactory, und ich vermute, dass die dafür verantwortliche Klasse nicht gefunden werden kann, da die erforderlichen MQ-Dateien nicht im Klassenpfad enthalten sind. Die Fehlermeldung ist nicht intuitiv.
Wenn ich das nicht kann, finde ich eine gute Möglichkeit, jndi-Lookup-Probleme zu debuggen, ist, den Kontext zu erfassen und eine list () darauf auszuführen, die Details jedes zurückgegebenen Objekts auszudrucken, nur damit Sie wissen, wo genau es sich befindet das Verzeichnis.