EJB(一)

昨天开始接触的EJB 按照视频上的讲解很快就学会了一个例子helloworld
最后在于运行的是时候才会显示一大堆的错误就是这样
javax.naming.CommunicationException: Receive timed out
at org.jnp.interfaces.NamingContext.discoverServer(NamingContext.java:1678)
at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1795)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:693)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at org.ejb.client.EJBlient.main(EJBlient.java:27)
Caused by: java.net.SocketTimeoutException: Receive timed out
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
at java.net.DatagramSocket.receive(DatagramSocket.java:725)
at org.jnp.interfaces.NamingContext.discoverServer(NamingContext.java:1647)
... 5 more
最后我一直调试这答案并且寻找网上的解决 方法最后终于成功了
首先如果你的端口是

props.setProperty("java.naming.provider.url","localhost:1099");
就是localhost 的话但是仍然没有成功只能说明你的里面的字符打错了 仔细检查一下

然后就是映射功能了,如果你想让外面的机器也能作为客户端的话就只有要进行内网映射了
如果你的内网ip是192.168.0.* 那么就要做一个映射 关于映射请参照到我的关于如何架设服务器的那篇博客 就是将增加一个端口1099的映射
并且你在启动的时候要在打开运行里的run -b 0.0.0.0
这个命令是直接显示非本地和本地都是可以进行的客户端
而 直接的run.bat 我试验了一下应该是默认的本地连接里的客户端
你也可以用run -b *.*.*.*(你的ip)来制定允许哪里端口进行客户端

总之这个run的时候必须是绑定一个ip的,这就是一个EJB的重点。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值