JBOSS实现RMI时注意的问题

使用JBOSS部署EJB服务后通过RMI访问报错:
javax.naming.CommunicationException: Could not obtain connection to any of these urls: xx.xx.xx.xx:1199 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException:
Receive timed out]

原有时因为JBOSS默认使用本地调用,无法跨服务器访问,需要在启动时添加参数run -b 0.0.0.0或run -b xx.xx.xx.xx(服务器IP)

当使用run -b 0.0.0.0的方式启动后,跨服务器远程访问时出现如下错误:
[Root exception is java.rmi.UnknownHostException: Unknown host: l48202b; nested exception is: java.net.UnknownHostException: l48202b]
l48202b为服务器机器名。出现该错误需要添加启动参数
-Djava.rmi.server.hostname=serverIP(服务器IP) -Dremoting.bind_by_host=false

综上所述一般可采用两种方式配置JBOSS远程服务:

1.JBosss服务器启动时,不要指定了-b 0.0.0.0,做如下修改

run.bat -b serverIP(服务器IP)
这个方法可以,但是有点不方便,jboss内部无法通过local调用ejb了

2.修改JBoss启动参数为 
run -b 0.0.0.0 -Djava.rmi.server.hostname=serverIP(服务器IP) -Dremoting.bind_by_host=false

注意:第一中方式,会是JBoss无法通过local调用ejb,所以如果不存在本地调用可以使用这种方式,否则使用第二中方式。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值