使用JNDI时,来自远程客户端的EJB调用在使用默认bean名称时会导致IllegalStateException

时间:2016-02-12 19:08:05

标签: java-ee jndi wildfly remote-access

我遵循wildfly文档EJB invocations from a remote client using JNDI中描述的规定方法,从远程客户端调用无状态会话bean上的方法。我在一个maven项目中使用带有NetBeans 8.0.2的wildfly 8.2.1 Final,这个项目打包在耳中并通过IDE部署。使用jboss特定的ejb:namespace使用jndi名称<input type="text" [(ngModel)]="subtodo.title"> 查找bean会导致IllegalStateException:没有EJB接收器可用于处理...当使用描述为

的默认bean名称时出现问题
  

bean-name:这是您正在执行的bean的名称   抬头。 bean名称通常是不合格的类名   bean实现类,但可以通过其中任何一个覆盖   ejb-jar.xml或通过注释。 bean名称部分不能为空   JNDI名称中的字符串。

使用wildfly管理控制台,bean不存在于java:jboss / exported命名空间中,但存在于java:global中。除非我在@Stateless注释ejb:<app-name>/<module-name>/<distinct-name>/<bean-name>!<fully-qualified-classname-of-the-remote-interface>中专门声明bean名称并使用此名称执行查找,否则远程调用将失败。显式声明bean名称会导致bean显示在JNDI树的java:jboss / exported命名空间中。

有谁知道为什么默认的bean名称(即不合格的类名称)不能像记录的那样工作?

0 个答案:

没有答案