当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:13:00  来源:本站整理

<b>Weblogic81中HttpCompleteMessageTimeout相关的两个非常</b>[Java编程]

赞助商链接



  本文“<b>Weblogic81中HttpCompleteMessageTimeout相关的两个非常</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

在网络性能较差的环境中,weblogic server的日记中常常能看到以下的两种非常,

1:####<Mar 1, 2005 12:18:57 PM PST> <Error> <HTTP> <****> <****> <ExecuteThread: '3' for queue: 'weblogic.kernel.System'> <<WLS Kernel>> <> <BEA-101083> <Connection failure. java.io.IOException: A complete message could not be read on socket: 'weblogic.servlet.internal.MuxableSocketHTTP@115954e - idle timeout: '30000'

ms, socket timeout: '100' ms', in the configured timeout period of '60' secs

2:####<2008/11/14 ?09:18:23 PM PST> <Info> <HTTP> <****> <****> <ExecuteThread: '0' for queue: 'weblogic.kernel.System'> <<anonymous>> <> <BEA-101326> <The server could not send the HTTP message during the configured timeout value. The socket has been closed.> 

我们可以看到上面的两个非常都是因为在指定的timeout时间内完成数据包的发送.BEA-101083呈目前客户端恳求往服务器端发送恳求数据的时间内没有完毕,而BEA-101326则是发生在weblogic回写response的时刻在指定的timeout内没有完成数据包发送. HttpCompleteMessageTimeout默许值为60秒,最大值为480秒.假如没有设定,会取 server---->Protocols---->General中的CompleteMessageTimout值(general中配置合适于全部协议,包含Http, T3, IIOP等).假如两个都没有设定,那么weblogic server会将该值设定为:CompleteMessageTimeoutTrigger. CLEANUP_TRIGGER_TIMEPERIOD_LOW=2secs.

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

关于BEA-101326,假定客户端恳求下载一个100M的文件,这100M的文件将会被分化成N多TCP/IP  packets举行传送(weblogic内部为chunk,默许的chunk大小为4080bytes,chunk的大小可以通过 -Dweblogic. ChunkSize设定).100M的文件即便在网络性能很好的情形下,也很难在60秒(CompleteMessageTimout的默许值)内完成,所以这个timeout不是针对整个reponse而言的.在weblogic实现中,每次回写数据包(Chunk)的时刻,会将当前的 OutputStream register到CompleteMessageTimeoutTrigger中,这样trigger被触发的时刻,它会负责查抄这个数据报能否在指定的timeout内完成发送,假如没有,则BEA-101326会记入到日记中,同时会关闭到客户端的socket,剩余的数据将无法持续写入.假如数据包在timeout之前已经写完,该OutputStream会从tigger中移除,tigger不会持续查抄该OutputStream

1 static void writeChunks(Chunk header,Chunk c, OutputStream os, int size, boolean chunkXfer) throws IOException {
2       try {
3             trigger.register(os);
4             if (chunkXfer)
5                     writeChunkTransfer(header,c, os);
6             else
7                      writeChunkNoTransfer(header, c, os, size);
8       } finally {
9             trigger.unregister(os);
10      }
11}


  以上是“<b>Weblogic81中HttpCompleteMessageTimeout相关的两个非常</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .