2012-07-25 57 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。