weblogic报Multicast socket receive error Socket closed

启动weblogic 被管服务器,出现如下错误信息:

  1. java.io.IOException: Invalid argument
  2. at java.net.PlainDatagramSocketImpl.send(Native Method)
  3. at java.net.DatagramSocket.send(DatagramSocket.java:612)
  4. at weblogic.cluster.MulticastFragmentSocket.sendThrottled(MulticastFragmentSocket.java:206)
  5. at weblogic.cluster.MulticastFragmentSocket.send(MulticastFragmentSocket.java:158)
  6. at weblogic.cluster.FragmentSocketWrapper.send(FragmentSocketWrapper.java:91)
  7. Truncated. see log file for complete stacktrace
  8. >
  9. java.net.SocketException: Socket closed
  10. at java.net.PlainDatagramSocketImpl.receive0(Native Method)
  11. at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
  12. at java.net.DatagramSocket.receive(DatagramSocket.java:712)
  13. at weblogic.cluster.MulticastFragmentSocket.receive(MulticastFragmentSocket.java:239)
  14. at weblogic.cluster.FragmentSocketWrapper.receive(FragmentSocketWrapper.java:98)
  15. Truncated. see log file for complete stacktrace
  16. >

三:解决办法

1.(前记)第一次出现这种情况是在一台机子上测试,自己回头查找原因。幸运的是很快找到了问题的答案。在配置集群时将  设置为7001 ,和管理服务器端口冲突,导致报出此错误。最后在config.xml中改变多播地址端口,设置成默认的7777。

2.这一次是在两台机子部署的集群,一台机子两个server,128的机子上跑着AdminServer 和 ms1 ,127的机子上跑ms2和ProxyServer。被管总是启动报错。开始以为多播地址不对,或者端口冲突,改变了均无效。这里用的weblogic默认多播地址239.192.0.0想想地址应该没问题。发现单独的被管server可以启动,在集群中的就不可以,经过测试确定是集群间通信问题。

后来在Oracle的论坛中找到贴子,说在setDomainEnv中JAVA_OPTION节加入:-Djava.net.preferIPv4Stack=true

 

我的修改如下:

 

 

或者使用启动脚本启动加入:

JAVA_OPTION="-Djava.net.preferIPv4Stack=true"

export JAVA_OPTIONS

 

 

 

最后问题解决:

 

https://blog.csdn.net/zhouleiblog/article/details/16827623

你可能感兴趣的:(Weblogic)