Tibco Errore: classnotfoundException: com.tibco.tibjms.naming.tibjmsinitialContextFactory
-
11-12-2019 - |
Domanda
Sto affrontando questo problema. Ho testato Tibco con sotto configurazione (TIBCO locale) e funziona
<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>
.
Ma quando provo a connettersi al TIBCO centrale (solo il provider cambiato) con la configurazione inferiore ricevo errore di classeNotFound
<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'errore che sto ricevendo è
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)
.
Qualsiasi suggerimento sarebbe di grande aiuto.
Soluzione
Questo è chiaramente un errore di classpath.Stai correndo sia sulla tua macchina locale?
Se il secondo viene eseguito su un server da qualche parte, assicurarsi che le librerie JAR EMS siano referenziate nel classpath.Credo che quello che stai cercando è tibjms.jar
.
Come fai riferimento al file JAR dipende dal tuo ambiente e tecnologie.
Altri suggerimenti
Manca Tibjms.jar dal classpath.Se tutte le opzioni di sicurezza sul server EMS sono abilitate, assicurati di aggiungere anche tibcrypt.jar.
- .
- Chiudi il designer tibco.
- Apri il file Designer.TRA situato nel percorso c: \ tibco \ Designer \ 5.10 \ bin
- Aggiungi questo percorso;% tra_home% / lib / tibcojms.jar nella parte finale di ## Questo sarà precontendato a tibco.class.path.Estended
- Copia il libretto di accompagnamento nel percorso C: \ Tibco \ TRA \ 5.10 \ lib
- Pronto con questo dovrebbe funzionare, avvia semplicemente il designer e andare.
Scarica il barattolo è tibcojms.jar
Nel mio caso, il problema è stato molto sciocco.C'era uno spazio alla fine del percorso di classe.I.e, "com.tibco.tibjms.tibjmsqueueConnectionFactory"