首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

WebLogic9.2拒绝访问的错误分析及解决方案

2012-12-19 
WebLogic9.2拒绝访问的异常分析及解决方案?问题描述2011年8月13日上午10点46分,系统访问异常,页面显示:Con

WebLogic9.2拒绝访问的异常分析及解决方案

?

问题描述

2011年8月13日上午10点46分,系统访问异常,页面显示:

Connection?rejected,?the?server?is?in?the?RUNNING?state.?Starting?service?weblogic.application.internal.BackgroundDeploymentService$WaitForBackgroundCompletion,?110?of?112.?Last?service?weblogic.deploy.service.internal.adminserver.HeartbeatService?took?2ms.

同时,WebLogic控制台也无法访问,页面显示同上。

按正常流程停止WebLogic服务不能成功,使用kill命令强制停止WebLogic服务后使用正常流程启动WebLogic服务。

上午11点38分系统启动完毕,恢复正常使用。

系统日志如下:

####<2011-8-13?上午10时46分15秒?CST>?<Critical>?<Server>?<tfh-node2>?<TFHWEB>?<DynamicListenThread[Default]>?<<WLS?Kernel>>?<>?<>?<1313203575118>?<BEA-002616>?<Failed?to?listen?on?channel?"Default"?on?132.60.5.29:8080,?failure?count:?2,?failing?for?1?seconds,?java.net.SocketException:?无效的自变量>?

####<2011-8-13?上午10时46分59秒?CST>?<Critical>?<Server>?<tfh-node2>?<TFHWEB>?<DynamicListenThread[Default]>?<<WLS?Kernel>>?<>?<>?<1313203619270>?<BEA-002617>?<Attempting?to?close?and?reopen?the?server?socket?on?on?channel?"Default"?on?132.60.5.29:8080.>?

####<2011-8-13?上午10时47分09秒?CST>?<Notice>?<Server>?<tfh-node2>?<TFHWEB>?<DynamicListenThread[Default]>?<<WLS?Kernel>>?<>?<>?<1313203629287>?<BEA-002614>?<Reopening?channel?"Default"?on?132.60.5.29:8080.>?

####<2011-8-13?上午10时47分09秒?CST>?<Notice>?<Server>?<tfh-node2>?<TFHWEB>?<DynamicListenThread[Default]>?<<WLS?Kernel>>?<>?<>?<1313203629787>?<BEA-002615>?<After?having?failed?to?listen,?the?server?is?now?listening?on?channel?"Default"?on?132.60.5.29:8080.>?

####<2011-8-13?上午10时47分09秒?CST>?<Notice>?<Server>?<tfh-node2>?<TFHWEB>?<DynamicListenThread[Default]>?<<WLS?Kernel>>?<>?<>?<1313203629788>?<BEA-002623>?<Connection?rejected,?the?server?is?in?the?RUNNING?state.?Starting?service?weblogic.application.internal.BackgroundDeploymentService$WaitForBackgroundCompletion,?110?of?112.?Last?service?weblogic.deploy.service.internal.adminserver.HeartbeatService?took?2ms.>?

二、异常分析

WebLogic9.2使用的是jdk1.5,任何关于半关闭socket连接的操作都会抛出java.net.SocketException异常。

Solaris系统对打开文件数的限制导致SocketException,致使WebLogic不能正常服务。在Solaris系统中,socket连接是以文件的形式存在的,所以socket连接受到系统对打开文件数的限制。当前,Solaris系统对程序打开文件的限制数是256,且WebLogic的日志记录方式是无限增长,随着日志文件的日益增多,WebLogic打开的文件数越来越多,当文件打开总数达到256时,系统不再允许WebLogic打开文件(包括socket连接),就出现了上面的问题。WebLogic服务器重启后,日志文件打开数量归零,故能启动正常。

三、解决办法

1.设置WebLogic系统日志大小及数量,并将日志记录方式改为滚动方式。步骤如下:Lock?&?Edit--》Environment--》Servers--》examplesServer--》Logging--》勾上Limit?number?of?retained?files--》Files?to?retain:数量设置为100--》勾上Rotate?log?file?on?startup(很重要)--》保存。

2.设置系统打开文件限制数,在/etc/profile里添加这两个参数:

ulimit?-n?4096

3.设置java默认使用IPV4协议。修改/etc/profile文件,在最后添加以下内容:

JAVA_OPTS="-Djava.net.preferIPv4Stack=true"?

export?JAVA_OPTS?

4.退出登录后,重新登录,然后重新启动WebLogic。

四、对业务的影响

1.需要停止WebLogic服务,退出用户登录后重新登录,再启动WebLogic服务。

? ? 注:1.有人说是IPV4有关,我不太理解原因。求解释帝。
????????2.Solaris默认文件打开数为

热点排行