EJB3.0远程超时问题

来源:互联网 发布:心绪飞扬市政课件淘宝 编辑:程序博客网 时间:2024/05/16 14:57
背景:客户端和EJB服务分别在不同的机器上
           URL配置:props.setProperty("java.naming.provider.url", "192.168.2.2:1099");

错误信息:
Could not obtain connection to any of these urls: 192.168.2.2:1099 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] 

解决方案:
在jboss4.2及以后的版本中,默认情况下jboss只接收来自localhost或127.0.0.1的请求,也就是只接收本地的访问。为了使jboss接收来自其他地址的请求,在启动jboss时需要使用-b命令行参数进行设置。如下面的启动命令所示: 

run.bat -b 200.200.200.123

run.bat -b 0.0.0.0 

上面的第一行命令表示jboss可以接收来自200.200.200.123的请求。第二条命令表示jboss可以接收来自任意地址的请求。如果不设置-b参数,以非本机方式访问EJB时,JBoss会抛出如上异常。

原创粉丝点击