Tibco-Fehler:ClassNotFoundException:com.tibco.tibjms.naming.TibjmsInitialContextFactory
-
11-12-2019 - |
Frage
Ich stehe vor diesem Problem.Ich habe Tibco mit der folgenden Konfiguration (lokales Tibco) getestet und es funktioniert
<jee:jndi-lookup id="connectionFactory" jndi-name="emsConnectionFactory">
<jee:environment>
java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory
java.naming.provider.url=tibjmsnaming://localhost:7222
</jee:environment>
</jee:jndi-lookup>
<jee:jndi-lookup id="queue" jndi-name="emsQueue">
<jee:environment>
java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory
java.naming.provider.url=tibjmsnaming://localhost:7222
</jee:environment>
Aber wenn ich versuche, mit der folgenden Konfiguration eine Verbindung zum zentralen Tibco herzustellen (nur der Anbieter hat sich geändert), erhalte ich die Fehlermeldung „classNotFound“.
<jee:jndi-lookup id="connectionFactory" jndi-name="XAQueueConnectionFactory">
<jee:environment>
java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory
java.naming.provider.url=tcp://xsdd.xxxxxxxxx.local:8333
</jee:environment>
</jee:jndi-lookup>
<jee:jndi-lookup id="queue" jndi-name="ibalance/iBatch/ReBalances">
<jee:environment>
java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory
java.naming.provider.url=tcp://xxxxxxx.xxxxxxxxxxx.local:8333
</jee:environment>
</jee:jndi-lookup>
Der Fehler, den ich erhalte, ist
Caused by: java.lang.ClassNotFoundException: com.tibco.tibjms.naming.TibjmsInitialContextFactory
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:46)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
Jeder Vorschlag wäre eine große Hilfe.
Lösung
Dies ist eindeutig ein Klassenpfadfehler.Führen Sie beide auf Ihrem lokalen Computer aus?
Wenn die zweite Version irgendwo auf einem Server ausgeführt wird, stellen Sie sicher, dass im Klassenpfad auf die EMS-JAR-Bibliotheken verwiesen wird.Ich glaube, das, was Sie suchen, ist es tibjms.jar
.
Wie Sie auf die JAR-Datei verweisen, hängt von Ihrer Umgebung und Ihren Technologien ab.
Andere Tipps
Sie vermissen tibjms.jar aus dem Klassenpfad.Wenn Sicherheitsoptionen auf dem EMS-Server aktiviert sind, stellen Sie bitte sicher, dass Sie tibcrypt.jar hinzufügen.
- .
- Schließen Sie den Tibco-Designer.
- Öffnen Sie die designer.tra-Datei im Pfad C: \ tibco \ designer \ 5.10 \ bin
- diesen Weg hinzufügen;% tra_home% / lib / tibcojms.jar im letzten Teil von ## wird dies auf tibco.class.path.expaded
- Kopieren Sie das begleitende Broschüren in den Pfad C: \ tibco \ tra \ 5.10 \ lib
- fertig mit diesem sollte funktionieren, starten Sie einfach den Designer und gehen Sie.
Herunterladen des JARs ist tibcojms.jar
In meinem Fall war das Problem sehr dumm.Am Ende des Klassenpfads gab es einen Raum.I.E, "com.tibco.tibjms.tibjmsqueueconnectionfactory"