Tibco错误:ClassNotFoundException:com.tibco.tibjms.naming.TibjmsInitialContextFactory

时间:2012-07-25 14:11:08

标签: classnotfoundexception tibco tibco-ems

我正面临这个问题。  我用下面的配置(本地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)

任何建议都会有很大的帮助。

4 个答案:

答案 0 :(得分:2)

这显然是一个类路径错误。你在本地机器上运行吗?

如果第二个正在某个服务器上运行,请确保在类路径中引用了EMS jar库。我相信你所追求的是tibjms.jar

如何引用jar文件取决于您的环境和技术。

答案 1 :(得分:0)

您缺少类路径中的tibjms.jar。如果启用了EMS服务器上的任何安全选项,请确保同时添加tibcrypt.jar。

答案 2 :(得分:0)

  1. 关闭TIBCO设计师。
  2. 打开位于路径C:\ tibco \ designer \ 5.10 \ bin
  3. 中的designer.tra文件
  4. 添加此路径;%#TRA_HOME%/ lib / TIBCOjms.jar在##的最后部分将添加到tibco.class.path.extended
  5. 将随附的小册子复制到路径C:\ tibco \ tra \ 5.10 \ lib
  6. 准备好这应该工作,只需启动设计师然后去。
  7. 下载jar是TIBCOjms.jar

答案 3 :(得分:0)

就我而言,问题非常愚蠢。课堂路径的尽头有一个空格。即“ com.tibco.tibjms.TibjmsQueueConnectionFactory”