Erro Tibco:ClassNotFoundException:com.tibco.tibjms.naming.TibjmsInitialContextFactory
-
11-12-2019 - |
Pergunta
Estou enfrentando esse problema.Testei o tibco com a configuração abaixo (tibco local) e funciona
<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>
Mas quando tento me conectar ao tibco central (apenas o provedor foi alterado) com a configuração abaixo, recebo o erro 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>
O erro que estou recebendo é
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)
Qualquer sugestão seria de grande ajuda.
Solução
Este é claramente um erro de caminho de classe.Você está executando ambos em sua máquina local?
Se o segundo estiver sendo executado em um servidor em algum lugar, certifique-se de que as bibliotecas jar do EMS sejam referenciadas no caminho de classe.Eu acredito que aquele que você está procurando é tibjms.jar
.
A maneira como você faz referência ao arquivo jar depende do seu ambiente e das tecnologias.
Outras dicas
Está faltando tibjms.jar no caminho de classe.Se alguma opção de segurança no servidor EMS estiver habilitada, certifique-se de adicionar tibcrypt.jar também.
- Feche o designer TIBCO.
- Abra o arquivo designer.tra localizado no caminho C: ibco\designer\5.10\bin
- Adicione este caminho;% TRA_HOME% / lib / TIBCOjms.jar na parte final de ## isso será anexado a tibco.class.path.extended
- Copie o livreto que acompanha no caminho C: ibco ra\5.10\lib
- Pronto com isso deve funcionar, basta iniciar o designer e pronto.
baixe o jar é TIBCOjms.jar
No meu caso, o problema foi muito bobo.Havia um espaço no final do caminho da aula.ou seja, "com.tibco.tibjms.TibjmsQueueConnectionFactory"