Weblogic IOException和分块

Weblogic IOException和分块,weblogic,atg,endeca,oracle-commerce,Weblogic,Atg,Endeca,Oracle Commerce,我在一个在WebLogic12c上运行ATG(Oracle Commerce)11.1并连接到Endeca实例的环境中工作。在Weblogic日志文件中,我经常遇到一个IOException,我相信这会对网站的整体稳定性产生连锁反应。错误如下: ####<24 Nov 2015 2:47:39 PM> <Error> <HTTP> <SERVER-1> <instance-1> <[ACTIVE] ExecuteThread: '

我在一个在WebLogic12c上运行ATG(Oracle Commerce)11.1并连接到Endeca实例的环境中工作。在Weblogic日志文件中,我经常遇到一个
IOException
,我相信这会对网站的整体稳定性产生连锁反应。错误如下:

####<24 Nov 2015 2:47:39 PM> <Error> <HTTP> <SERVER-1> <instance-1> <[ACTIVE] ExecuteThread: '116' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1448369259872> <BEA-101019> <[ServletContext@1433232248[app:ATGProduction module:store path:null spec-version:3.0]] Servlet failed with an IOException.
java.io.IOException: An existing connection was forcibly closed by the remote host
at sun.nio.ch.SocketDispatcher.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:51)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
at sun.nio.ch.IOUtil.write(IOUtil.java:65)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:487)
at weblogic.socket.NIOSocketMuxer$NIOOutputStream.writeInternal(NIOSocketMuxer.java:1064)
at weblogic.socket.NIOSocketMuxer$NIOOutputStream.write(NIOSocketMuxer.java:983)
at weblogic.servlet.internal.ChunkOutput.writeChunkTransfer(ChunkOutput.java:622)
at weblogic.servlet.internal.ChunkOutput.writeChunks(ChunkOutput.java:587)
at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:472)
at weblogic.servlet.internal.CharsetChunkOutput.flush(CharsetChunkOutput.java:301)
at weblogic.servlet.internal.ChunkOutput$3.checkForFlush(ChunkOutput.java:727)
at weblogic.servlet.internal.CharsetChunkOutput.write(CharsetChunkOutput.java:203)
at weblogic.servlet.internal.ChunkOutputWrapper.write(ChunkOutputWrapper.java:153)
at weblogic.servlet.jsp.JspWriterImpl.write(JspWriterImpl.java:275)
at jsp_servlet._tags._store.__contentitem_tag._jsp__tag2(__contentitem_tag.java:321)
at jsp_servlet._tags._store.__contentitem_tag._jsp__tag1(__contentitem_tag.java:272)
at jsp_servlet._tags._store.__contentitem_tag.doTag(__contentitem_tag.java:196)
at jsp_servlet._cartridges._pageslot.__pageslot._jsp__tag6(__pageslot.java:412)
at jsp_servlet._cartridges._pageslot.__pageslot._jsp__tag5(__pageslot.java:371)
at jsp_servlet._cartridges._pageslot.__pageslot._jsp__tag2(__pageslot.java:258)
at jsp_servlet._cartridges._pageslot.__pageslot._jspService(__pageslot.java:128)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:35)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:243)
at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:587)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:273)
<%@ tag language="java" pageEncoding="UTF-8"%>
<%@ include file="/include/taglibs.jspf" %>

<%@ attribute name="contentItem" required="true" rtexprvalue="true" type="java.util.Map"%>

<dsp:getvalueof var="include" value="${contentItem['@type']}" />
<c:choose>
    <c:when test="${empty contentItemKey && !empty include}">
        <dsp:include page="/cartridges/${include}/${include}.jsp">
            <dsp:param name="contentItem" value="${contentItem}"/>
        </dsp:include>
    </c:when>
    <c:when test="${!empty contentItemKey}">
        <c:out value="${contentItem[contentItemKey]}" escapeXml="false" />
    </c:when>   
</c:choose>
在Weblogic中更改ChunkSize参数会有什么好处吗?目前它仍然是默认的4k

问题总是出现在
contentitem.tag
文件中,这就是我们解包和呈现Endeca相关内容的方式,这是巧合吗?标记文件由其包含的盒带递归调用

如果您对如何解决此问题有任何建议,我们将不胜感激


更新:


虽然没有明确回答这个问题,但一旦我们意识到weblogic.xml中的
指令被无意地设置为0(即根据每个请求编译页面),我们就在减少(而不是消除)IOException方面取得了重大进展。这导致多个线程试图编译相同的页面片段。稳定性已大大提高,但尚未消除
IOException

您可能想看看Oracle WebLogic 12c,因为它听起来像是一个类似的问题。