2014-05-02 70 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相关的许多古怪之一。

相关问题