linux weblogic <BEA-000110> <BEA-000109> Multicast socket receive error :Socket closed

来源:互联网 发布:讯飞输入法皮肤知乎 编辑:程序博客网 时间:2024/06/05 07:05


一、环境信息:

系统:CentOS 6.5  linux 32位

uname -a 命令查看:Linux master 2.6.32-220.el6.i686 #1 SMP Tue Dec 6 16:15:40 GMT 2011 i686 i686 i386 GNU/Linux

master机器:   192.168.2.127          ms2 + ProxyServer

backup机器:  192.168.2.128          AdminServer + ms1

weblogic:10.3.3.0


二问题描述:

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

<Nov 13, 2013 12:57:10 PM CST> <Error> <Cluster> <BEA-000109> <An error occurred while sending multicast message: java.io.IOException: Invalid argumentjava.io.IOException: Invalid argument        at java.net.PlainDatagramSocketImpl.send(Native Method)        at java.net.DatagramSocket.send(DatagramSocket.java:612)        at weblogic.cluster.MulticastFragmentSocket.sendThrottled(MulticastFragmentSocket.java:206)        at weblogic.cluster.MulticastFragmentSocket.send(MulticastFragmentSocket.java:158)        at weblogic.cluster.FragmentSocketWrapper.send(FragmentSocketWrapper.java:91)        Truncated. see log file for complete stacktrace> <Nov 13, 2013 12:57:10 PM CST> <Error> <Cluster> <BEA-000110> <Multicast socket receive error: java.net.SocketException: Socket closedjava.net.SocketException: Socket closed        at java.net.PlainDatagramSocketImpl.receive0(Native Method)        at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)        at java.net.DatagramSocket.receive(DatagramSocket.java:712)        at weblogic.cluster.MulticastFragmentSocket.receive(MulticastFragmentSocket.java:239)        at weblogic.cluster.FragmentSocketWrapper.receive(FragmentSocketWrapper.java:98)        Truncated. see log file for complete stacktrace> 
三:解决办法

1.(前记)第一次出现这种情况是在一台机子上测试,自己回头查找原因。幸运的是很快找到了问题的答案。在配置集群时将  <multicast-port>设置为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


我的修改如下:


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


最后问题解决:



参考地址:

https://forums.oracle.com/thread/1017791

https://forums.oracle.com/message/4320294

原创粉丝点击