WEB开发网
开发学院软件开发Java Weblogic81中HttpCompleteMessageTimeout相关的两... 阅读

Weblogic81中HttpCompleteMessageTimeout相关的两个异常

 2009-09-22 00:00:00 来源:WEB开发网   
核心提示: 对于IdleTimeout,可以参考SocketInfo.lastIoInitiatedTimeMillisLast time we had some activity on socket, for enforcing idle timeoutof a socket. A -1 value in

对于IdleTimeout,可以参考SocketInfo.lastIoInitiatedTimeMillis 

Last time we had some activity on socket, for enforcing idle timeout of a socket.  A -1 value indicates that there is no pending IO.

用于控制keepAlive的HttpConnection空闲多长时间后将被weblogic关闭,所以空闲,是指Socket上没有IO操作。

要解决BEA-101083,基本和BEA-101326差不多,还是要解决网络性能问题,另外就是加强网络安全管理,防止黑客攻击。

最后在说一下CompleteMessageTimeout设定,weblogic admin console上提示改设定是动态的,即不需要重启,但实际并不是这样的。如果该设定是要解决BEA-101083,那么它是动态的,不要重启,而如果是要解决

BEA-101326,那么要使设定生效,重启是必须的。我们看一下两个trigger就知道了,

BEA-101083,SocketMuxer,

 1   protected class TimeoutTrigger implements Triggerable {
 2     public void trigger(Schedulable sched) {
 3       MuxableSocket[] socks = getSockets();
 4       for (int i = 0; i < socks.length; i++) {
 5 
 6         MuxableSocket ms = socks[i];
 7         SocketInfo info = ms.getSocketInfo();
 8         if (info == null) continue;
 9         long idleTimeout = ms.getIdleTimeoutMillis();
10         long msgTimeout = ms.getCompleteMessageTimeoutMillis();
11 
12         switch (info.checkTimeout(idleTimeout, msgTimeout)) {
13         
14         }
15     
16       }  
17     } 
18   }

BEA-101326, ChunkUtils

1     static {
2       trigger = new CompleteMessageTimeoutTrigger();
3     }

从上面代码可以看出,BEA-101083的trigger每次被触发的时候,都会重新读取配置参数,所以修改是动态的。而BEA- 101326,tigger是静态变量,当ChunkUtils被load的时候实例化,实例化的时候,它会读取配置参数。但静态变量的初始化只有一次,除非ChunkUtils被重新装载,所以需要重启才能使该设定生效。

上一页  1 2 3 4 

Tags:Weblogic HttpCompleteMessageTimeout 相关

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接