向高手求救
使用Weblogic 10发布实时性比较强的web应用,采用调用webservice发送接收JMS消息交互信息,通信量比较大,有多个定时批量发送接收消息的任务,在开五个左右客户端,开10个左右定时任务(每隔十秒运行一次),在服务器运行五六个小时的时候报以下错误:
####<2010-11-25 上午12时56分42秒 CST> <Info> <Common> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '38' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1290617802756> <BEA-000628> <Created "1" resources for pool "JDBC Data Source-0", out of which "1" are available and "0" are unavailable.>
####<2010-11-25 上午12时57分16秒 CST> <Info> <JDBC> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1290617836695> <BEA-001128> <Connection for pool "JDBC Data Source-0" closed.>
####<2010-11-25 上午12时57分16秒 CST> <Info> <JDBC> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1290617836695> <BEA-001128> <Connection for pool "JDBC Data Source-0" closed.>
####<2010-11-25 上午12时57分16秒 CST> <Info> <JDBC> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1290617836695> <BEA-001128> <Connection for pool "JDBC Data Source-0" closed.>
####<2010-11-25 上午12时57分16秒 CST> <Info> <JDBC> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1290617836695> <BEA-001128> <Connection for pool "JDBC Data Source-0" closed.>
####<2010-11-25 上午12时57分23秒 CST> <Info> <Common> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1290617843885> <BEA-000628> <Created "1" resources for pool "JDBC Data Source-0", out of which "1" are available and "0" are unavailable.>
####<2010-11-25 上午12时57分39秒 CST> <Info> <Common> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '11' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1290617859618> <BEA-000628> <Created "1" resources for pool "JDBC Data Source-0", out of which "1" are available and "0" are unavailable.>
####<2010-11-25 上午12时57分48秒 CST> <Info> <Common> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1290617868501> <BEA-000628> <Created "1" resources for pool "JDBC Data Source-0", out of which "1" are available and "0" are unavailable.>
####<2010-11-25 上午12时57分52秒 CST> <Info> <Common> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '18' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1290617872997> <BEA-000628> <Created "1" resources for pool "JDBC Data Source-0", out of which "1" are available and "0" are unavailable.>
####<2010-11-25 上午12时57分53秒 CST> <Info> <Common> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1290617873237> <BEA-000628> <Created "1" resources for pool "JDBC Data Source-0", out of which "1" are available and "0" are unavailable.>
####<2010-11-25 上午12时58分03秒 CST> <Info> <Common> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1290617883332> <BEA-000628> <Created "1" resources for pool "JDBC Data Source-0", out of which "1" are available and "0" are unavailable.>
####<2010-11-25 上午01时00分00秒 CST> <Warning> <Socket> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1290618000190> <BEA-000449> <Closing socket as no data read from it during the configured idle timeout of 5 secs>
####<2010-11-25 上午01时01分53秒 CST> <Error> <Socket> <cixp> <AdminServer> <ExecuteThread: '1' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1290618113273> <BEA-000421> <Uncaught Throwable in processSockets
java.lang.OutOfMemoryError.
java.lang.OutOfMemoryError
>
####<2010-11-25 上午01时01分52秒 CST> <Error> <HTTP> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '16' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1290618112331> <BEA-101017> <[ServletContext@2516858[app:UTCS module:UTCS.war path:/UTCS spec-version:null]] Root cause of ServletException.
java.lang.OutOfMemoryError: allocLargeObjectOrArray - Object size: 8208, Num elements: 8192
at java.nio.ByteBuffer.allocate(ByteBuffer.java:95)
at sun.nio.cs.StreamDecoder.<init>(StreamDecoder.java:231)
at sun.nio.cs.StreamDecoder.<init>(StreamDecoder.java:211)
at sun.nio.cs.StreamDecoder.forInputStreamReader(StreamDecoder.java:50)
at java.io.InputStreamReader.<init>(InputStreamReader.java:83)
at weblogic.xml.stax.XMLStreamInputFactory.createXMLStreamReader(XMLStreamInputFactory.java:66)
at org.codehaus.xfire.util.STAXUtils.createXMLStreamReader(STAXUtils.java:762)
at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:297)
at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3590)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>
####<2010-11-25 上午01时01分53秒 CST> <Error> <HTTP> <cixp> <AdminServer> <[ACTIVE] ExecuteThread: '13' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1290618113273> <BEA-101017> <[ServletContext@2516858[app:UTCS module:UTCS.war path:/UTCS spec-version:null]] Root cause of ServletException.
java.lang.OutOfMemoryError: nativeGetNewTLA
at java.nio.ByteBuffer.wrap(ByteBuffer.java:133)
at weblogic.servlet.internal.CharsetChunkOutput.makeByteBuffer(CharsetChunkOutput.java:468)
at weblogic.servlet.internal.CharsetChunkOutput.flush(CharsetChunkOutput.java:316)
at weblogic.servlet.internal.ChunkOutputWrapper.flush(ChunkOutputWrapper.java:174)
at weblogic.servlet.internal.ServletOutputStreamImpl.flush(ServletOutputStreamImpl.java:111)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:124)
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:278)
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:122)
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:213)
at java.io.BufferedWriter.flush(BufferedWriter.java:236)
at weblogic.xml.stax.XMLWriterBase.flush(XMLWriterBase.java:502)
at org.codehaus.xfire.soap.SoapSerializer.writeMessage(SoapSerializer.java:88)
at org.codehaus.xfire.transport.http.XFireServletChannel.send(XFireServletChannel.java:44)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.service.binding.PostInvocationHandler.invoke(PostInvocationHandler.java:36)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:39)
at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3590)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>
..............n个类似
####<2010-11-25 上午01时02分09秒 CST> <Error> <Server> <cixp> <AdminServer> <DynamicListenThread[Default]> <<WLS Kernel>> <> <> <1290618129886> <BEA-002608> <The ListenThread because of an error: java.lang.OutOfMemoryError: mmAllocObject - Object size: 24
java.lang.OutOfMemoryError: mmAllocObject - Object size: 24
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
at java.net.ServerSocket.implAccept(ServerSocket.java:455)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:38)
at weblogic.server.channels.DynamicListenThread$SocketAccepter.accept(DynamicListenThread.java:528)
at weblogic.server.channels.DynamicListenThread$SocketAccepter.access$200(DynamicListenThread.java:420)
at weblogic.server.channels.DynamicListenThread.run(DynamicListenThread.java:171)
at java.lang.Thread.run(Thread.java:619)
可以看出是由于压力过大导致WebLogic内存溢出,初步怀疑是因为采用同步接收消息的方式造成压力过大,请教高手有没有遇到过类似问题,并告知解决办法。