Ошибка Тибко:КлассNotFoundException:com.tibco.tibjms.naming.TibjmsInitialContextFactory
-
11-12-2019 - |
Вопрос
Я столкнулся с этой проблемой.Я протестировал tibco с приведенной ниже конфигурацией (локальный tibco), и он работает
<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>
Но когда я пытаюсь подключиться к центральному tibco (изменился только провайдер) с приведенной ниже конфигурацией, я получаю ошибку 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>
Ошибка, которую я получаю, это
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)
Любое предложение будет иметь большую помощь.
Решение
Это явно ошибка пути к классам.Вы используете оба на своей локальной машине?
Если второй запускается где-то на сервере, убедитесь, что в пути к классам есть ссылки на JAR-библиотеки EMS.Я верю, что ты ищешь tibjms.jar
.
То, как вы ссылаетесь на файл jar, зависит от вашей среды и технологий.
Другие советы
Вы отсутствуете Tibjms.jar из классов.Если любые параметры безопасности на сервере EMS включены, убедитесь, что вы также добавите Tibcrypt.jar.
- Закрыть дизайнер TIBCO.
- Открыть файл designer.tra.tra, расположенный на пути C: \ TIBCO \ Designer \ 5.10 \ bin
- Добавьте этот путь;% tra_home% / lib / tibcojms.jar в последней части ## Это будет предложено tibco.class.path.pated.exteded
- Скопируйте сопроводительный буклет на пути C: \ TIBCO \ TRA \ 5.10 \ lib
- Готов к этому должен работать, просто начните дизайнер и пойти.
Скачать банку tibcojms.jar
В моем случае проблема была очень глупой.На конце класса было пространство.i.e, "com.tibco.tibjms.tibjmsqueueconnectionFactory"