Jakarta ee 通过jndi查找访问EJB

Jakarta ee 通过jndi查找访问EJB,jakarta-ee,jboss,ejb,Jakarta Ee,Jboss,Ejb,根据以下说明,用户可以通过jndi访问EJB: java:global[/application name]/module name/enterprise bean name[/interface name] 我正在使用Jboss应用程序服务器,当我尝试访问名为FirstBean的EJB时,它实现了na接口CustomerData: bean = (CustomerData) context.lookup("java:global/EJBTest/FirstBean/CustomerData"

根据以下说明,用户可以通过
jndi
访问
EJB

java:global[/application name]/module name/enterprise bean name[/interface name]
我正在使用
Jboss
应用程序服务器,当我尝试访问名为
FirstBean
EJB
时,它实现了na接口
CustomerData

bean = (CustomerData) context.lookup("java:global/EJBTest/FirstBean/CustomerData");
它抛出一个异常:

 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
No provider URL configured for connection
如果我添加该行:

properties.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory"); 
它引发另一个异常:

 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
No provider URL configured for connection
我已经通过
Jboss
规范访问了它,如下所示:

bean = (CustomerData) context.lookup("ejb:/EJBTest//FirstBean!com.al.ejbtest.CustomerData");
如何使用标准JavaEE规范访问它,尤其是仅使用斜杠而不使用exlamation标记?是否需要设置任何环境变量?

另外,请尝试以下操作:


properties.put(javax.naming.Context.PROVIDER\u URL,“jnp://127.0.0.1:1099");

您使用的Jboss版本是什么?从哪里访问EJB?如果您尝试使用远程ejb客户端,则需要检查该客户端的文档。不,它不起作用。即使我尝试更新的:jndiProps.put(Context.PROVIDER\uURL,“remote://localhost:4447");