0

ALL, I am working on a project which need upload large file(200MB) from .net to JBoss. so far I have set time out property to HttpWebRequest object, But still got exception in JBOSS Console Which is

10:31:06,896 ERROR [DeployServlet] Failed to upload file.
org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. null
     at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:359)
     at com.accela.deploy.servlet.RequestHandler.getUploadFileFromRequest(RequestHandler.java:86)
     at com.accela.deploy.servlet.DeployServlet.doPost(DeployServlet.java:118)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
     at com.accela.commom.filter.AuthFilter.doFilter(AuthFilter.java:99)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
     at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
     at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877)
     at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:594)
     at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1733)
     at java.lang.Thread.run(Thread.java:722)
Caused by: java.io.IOException
     at org.apache.coyote.http11.InternalAprInputBuffer.fill(InternalAprInputBuffer.java:801)
     at org.apache.coyote.http11.InternalAprInputBuffer$SocketInputBuffer.doRead(InternalAprInputBuffer.java:830)
     at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:116)
     at org.apache.coyote.http11.InternalAprInputBuffer.doRead(InternalAprInputBuffer.java:738)
     at org.apache.coyote.Request.doRead(Request.java:427)
     at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:304)
     at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:419)
     at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:327)
     at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:193)
     at org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:959)
     at org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:887)
     at java.io.InputStream.read(InputStream.java:101)
     at org.apache.commons.fileupload.util.Streams.copy(Streams.java:94)
     at org.apache.commons.fileupload.util.Streams.copy(Streams.java:64)
     at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:354)
     ... 26 more
10:31:07,973 INFO  [RequestHandler] Failed

I believe this is because the http request time out issue. Is there any time-out config for JBoss accepting long time Http connection? thanks.

Vishal Pawar
  • 4,324
  • 4
  • 28
  • 54
Joe.wang
  • 11,537
  • 25
  • 103
  • 180

1 Answers1

1

Possibly you have run in to this bug. If you are using Tomcat Native libraries, try deactivating them to see if it works then. Or use an Apache httpd server with mod_proxy and use the AJP connector on the JBoss server - if it really is a bug in the HTTP connector, that might be a workaround.

But to answer your question regarding the timeout, have a look a the file server/default/deploy/jboss-web.deployer/server.xml (replace default with the configuration you're using, if necessary). Make sure that in the element <Connector port="8080" ... the attribute disableUploadTimeout is set to true. See the docs for more information on this attribute and the connector configuration.

Borstel
  • 128
  • 5
  • I had created a new post [here](http://stackoverflow.com/questions/12725987/upload-large-file-to-jboss-issue), Please help to review it . thanks. – Joe.wang Oct 04 '12 at 12:12