`
zhuxinzx
  • 浏览: 288947 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

WebLogic服务日志报BEA-101083错误的处理方法

    博客分类:
  • JAVA
阅读更多
最近用户反应连接PDM服务时,偶尔会出现连接不上的错误,客户端显示为“无法连接到指定网页”,现象与断网之后返回的网页一样,查看WebLogic的Server日志,发现存在下面的例外:

<<WLS Kernel>> <> <BEA-101083> <Connection failure.
java.net.SocketException: Error in poll for fd=117, revents=32
at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:131)
at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)

BEA-101083出现在客户端请求往服务器端发送请求数据的时间内没有结束。HttpCompleteMessageTimeout默认值为60秒,最大值为480秒。如果没有设定,会取server---->Protocols---->General中的CompleteMessageTimout值(general中配置适合于所有协议,包括Http, T3, IIOP等)。如果两个都没有设定,那么weblogic server会将该值设定为:CompleteMessageTimeoutTrigger. CLEANUP_TRIGGER_TIMEPERIOD_LOW=2secs。

注意:CompleteMessageTimeout是数据包,而不是整个请求的timeout时间。

BEA-101083通常是因为客户端发送的请求数据不能在HttpCompleteMessageTimeout内完成,常见的两种情况是:性能很差的网络环境、黑客攻击(连续的向服务器写入数据,但每次写入很少的数据,例如,10bytes/secs或更少)。客户端数据读取超时是通过SocketMuxer.TimeoutTrigger实现的。这个trigger同时还负责IdleTimeout(KeepAlive的HttpConnection的Duration,默认为30秒)。要解决BEA-101083,主要是解决解决网络性能问题,另外就是加强网络安全管理,防止黑客攻击。最后在说一下CompleteMessageTimeout设定,weblogic admin console上提示改设定是动态的,即不需要重启,但实际并不是这样的。如果该设定是要解决BEA-101083,那么它是动态的,不要重启。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics