The JVM should automatically garbage collect when a request for memory
cannot be satisfied using available free memory. So it may not be
returned until the next request is made, but it should be available as
long as it's eligible for collection. 

-----Original Message-----
From: HUANG, LUKE [mailto:[EMAIL PROTECTED] 
Sent: Monday, November 14, 2005 1:48 PM
To: [email protected]
Subject: RE: Submitting large byte[] with Axis

What happens to the JVM's memory pool after you send 2000m bytes
successfully?  Would the JVM return some of it to the system?


-----Original Message-----
From: Bell, Douglas [mailto:[EMAIL PROTECTED]
Sent: Monday, November 14, 2005 1:44 PM
To: [email protected]
Subject: RE: Submitting large byte[] with Axis

You'll have to allocate more memory when you start the JVM

i.e. java -Xms1000m -Xmx2500m Main 

-----Original Message-----
From: Michael Rudolf [mailto:[EMAIL PROTECTED]
Sent: Monday, November 14, 2005 1:15 PM
To: [email protected]
Subject: Submitting large byte[] with Axis

Hi,
i am experimenting with submitting byte[] over axis. When they reach a
certain size i get an exception in the Client that called the WS:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

The Server Exception is:

java.io.IOException:
ClientAbortException:  java.net.SocketException: Software caused
connection abort: socket write error
    at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.j
ava:366)
    at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:299)
    at
org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:
392)
    at
org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:381)
    at
org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStrea
m.java:76)
    at org.apache.axis.utils.ByteArray.writeTo(ByteArray.java:375)
    at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:265)
    at org.apache.axis.Message.writeTo(Message.java:528)
    at
org.apache.axis.transport.http.AxisServlet.sendResponse(AxisServlet.java
:902)
    at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:777)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.j
ava:327)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:252)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)
    at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilte
r.java:81)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:202)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)
    at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:213)
    at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:178)
    at
org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipa
lValve.java:39)
    at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAs
sociationValve.java:159)
    at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.j
ava:59)
    at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:126)
    at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:105)
    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:107)
    at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1
48)
    at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:85
6)
    at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:744)
    at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
.java:527)
    at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorker
Thread.java:112)
    at java.lang.Thread.run(Thread.java:595)


Has anybody transferred larger byte[] over axis successfully. How big
can they get (MBytes?). Any ideas how to submit such large data over
axis?
Thanks!
Michael






Reply via email to