2012-07-25 115 views
2

我正面临着这个问题。 我测试TIBCO下面的配置(本地TIBCO)和它的作品Tibco错误:ClassNotFoundException:com.tibco.tibjms.naming.TibjmsInitialContextFactory

<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) 

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

回答

2

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

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

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

0

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