2

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

4 回答 4

2

这显然是一个类路径错误。您是否在本地计算机上同时运行两者?

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

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

于 2012-07-26T12:33:15.337 回答
0

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

于 2013-06-26T12:54:48.087 回答
0

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

于 2019-06-14T22:39:48.487 回答
0
  1. 关闭 TIBCO 设计器。
  2. 打开位于路径 C:\tibco\designer\5.10\bin 中的 Designer.tra 文件
  3. 添加这个路径;%TRA_HOME%/lib/TIBCOjms.jar 在##的最后部分这将被添加到 tibco.class.path.extended
  4. 将随附的小册子复制到路径C:\tibco\tra\5.10\lib
  5. 准备好这个应该可以工作,只需启动设计器就可以了。

下载的jar是TIBCOjms.jar

于 2018-03-23T18:33:39.153 回答