Erreur Tibco :ClassNotFoundException :com.tibco.tibjms.naming.TibjmsInitialContextFactory
-
11-12-2019 - |
Question
Je suis confronté à ce problème.J'ai testé Tibco avec la configuration ci-dessous (Tibco local) et ça marche
<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>
Mais lorsque j'essaie de me connecter au Tibco central (seul le fournisseur a changé) avec la configuration ci-dessous, j'obtiens une erreur 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>
L'erreur que j'obtiens est
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)
Toute suggestion serait d'une grande aide.
La solution
Il s'agit clairement d'une erreur de chemin de classe.Exécutez-vous les deux sur votre ordinateur local ?
Si le second est exécuté sur un serveur quelque part, assurez-vous que les bibliothèques jar EMS sont référencées dans le chemin de classe.Je crois que celui que tu cherches est tibjms.jar
.
La façon dont vous référencez le fichier jar dépend de votre environnement et de vos technologies.
Autres conseils
vous manquez Tibjms.jar de la classe de classe.Si des options de sécurité sur le serveur EMS sont activées, assurez-vous d'ajouter également TIBCRYPT.JAR.
- Fermer le designer Tibco.
- Ouvrez le fichier de concepteur.tra situé dans le chemin C: \ tibco \ designer \ 5.10 \ bin
- Ajoutez ce chemin;% TRA_HOME% / LIB / TIBCOJMS.JAR Dans la dernière partie de ## Ce sera axpéré à TIBCO.CLASS.PATH.EXTENDUE
- Copiez la brochure d'accompagnement dans le chemin C: \ tibco \ TRA \ 5.10 \ lib
- prêt avec cela devrait fonctionner, juste commencer le designer et aller.
Télécharger le pot est TIBCOJMS.JAR
Dans mon cas, la question était très stupide.Il y avait un espace à la fin du chemin de la classe.i.e, "com.tibco.tibjms.tibjmsqueueconnectionfactory"