通过Ip地址访问ejb,提示找不到对应服务器的机器名

[Loaded java.net.UnknownHostException from L:\java\jdk\jdk1.6.0_20\jre\lib\rt.jar]
javax.naming.CommunicationException [Root exception is java.rmi.UnknownHostException: Unknown host: wis-58441e79382; nested exception is:java.net.UnknownHostException: wis-58441e79382]
[Loaded java.rmi.UnknownHostException from L:\java\jdk\jdk1.6.0_20\jre\lib\rt.jar]
[Loaded sun.rmi.transport.DGCClient$EndpointEntry$1 from L:\java\jdk\jdk1.6.0_20\jre\lib\rt.jar]
[Loaded java.util.Vector$1 from L:\java\jdk\jdk1.6.0_20\jre\lib\rt.jar]
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:841)
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:688)
    at javax.naming.InitialContext.lookup(InitialContext.java:392)
    at dnn.Ejb.ping(Ejb.java:50)

本机通过ip访问没问题,同一网段好像也没问题

不同网段才出这个异常

搜索了下解决方法

1)

在host文件中添加ip地址和机器名映射关系

这个方法能解决,方向不对,应该从服务器端找思路

2)

JBosss服务器启动时,指定了-b 0.0.0.0 导致出现这个问题

改成:

run.bat -b 你的Ip地址

这个方法可以,但是有点不方便,jboss内部无法通过local调用ejb了

3)run -b 0.0.0.0 -Djava.rmi.server.hostname=你的Ip地址 -Dremoting.bind_by_host=false

这个方法比较好

猜你喜欢

转载自iliuyong.iteye.com/blog/1297584