2014-05-02 71 views
0

我正在爲在JBoss AS EAP6.2中運行的EJB編寫遠程客戶端。繼第說明書「7.5.1。遠程調用使用JNDI會話Bean」在「的JBoss EAP 6.2開發指南」,我能夠訪問EJB方法,如果我使用JNDI名稱使用全局的JBoss遠程EJB客戶端

<ejb:/hibernate-ejb-server/UserBean!org.ktest.study.beans.UserBean

失敗,如果我使用在JBoss服務器日誌實際登錄的全局JNDI名稱

java:global/hibernate-ejb-server/UserBean!org.ktest.study.beans.UserBean

如果我用的是全局JNDI名稱,我得到了下面的異常

Exception in thread "main" javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial

在網絡上搜索後,我明白我必須提供一些特性(與javax.naming中)到InitialContext的同時將其實例化。但我不確定這些屬性是什麼。有人能幫助我嗎?

回答

2

「java:global」將無法訪問遠程服務器。即使您在遠程初始上下文中執行它,它也會在本地JVM中解決。

這是與JNDI相關的許多古怪之一。

相關問題