我是EJB3.x和JBoss的新手,所以这可能是一个真正的基本问题。我以前做过这个教程,它工作得很好http://theopentutorials.com/examples/java-ee/ejb3/how-to-create-a-simple-ejb3-project-in-eclipse-jboss-7-1/。我在文献中读到,对于这种工作,使用了命名服务的端口1099,而不是用于HA JRMP的端口4447。
所以我也尝试了端口1099,它不起作用。似乎JBoss服务器没有打开那个端口。我使用TCPView和telnet来检查它。
我想象以下问题:
1)为什么我可以使用端口4447而不是1099?
2)为什么JBoss服务器没有尝试打开并使用端口1099?
代码与示例中的代码完全相同,并且JBoss服务器的配置尚未更改。
我用过Jboss 4.0,4.3,5.0
,而这些1099
中的每一个都是JNDI
Port。您可以在server.xml
的jazoss目录中找到在config
中使用哪些服务的端口。
从这里的JBoss 7文档:https://docs.jboss.org/author/display/AS71/JNDI+Reference
“AS 7.1支持两种不同类型的远程JNDI。不再支持以前JBoss版本中使用的旧的基于jnp的JNDI实现。”
这两种类型是远程和ejb。
对于遥控器,它解释说:
“远程:协议使用JBoss远程协议从服务器本地JNDI中查找项目。”
所以JBoss 7不再监听(HA)JNDI端口了。
有关远程EJB调用的更多信息,请参见:
https://docs.jboss.org/author/display/AS71/EJB+invocations+from+a+remote+client+using+JNDI