• 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,所以如果不存在本地调用可以使用这种方式,否则使用第二中方式。

  • 相关阅读:
    小小小康
    GC日志补充
    一次GC问题定位
    mycat1.5~1.6的一个bug
    [转] java Statement和PreparedStatement批量更新
    java 中的instanceof 运算符
    Java学习篇之数组方法
    iOS7适配的一点小技巧
    iOS 中正确切换摄像头&正确实现设置帧率的方式
    iOS 音量键事件监控响应
  • 原文地址:https://www.cnblogs.com/pocter/p/3684459.html
Copyright © 2020-2023  润新知