【问题标题】:OutOfMemoryError trying to upload to Blobstore locallyOutOfMemoryError 试图在本地上传到 Blobstore
【发布时间】:2011-02-28 22:59:26
【问题描述】:

我正在尝试设置基本文件上传到 blobstore,但我得到了 这个OutOfMemoryError:

警告:/_ah/upload/ 错误 aghvbWdkcmVzc3IcCxIVX19CbG9iVXBsb2FkU2Vzc2lvbl9fGMACDA java.lang.OutOfMemoryError:Java 堆空间 在 java.util.Arrays.copyOf(Arrays.java:2786) 在 java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71) 在 javax.mail.internet.MimeMultipart.readTillFirstBoundary(MimeMultipart.java: 316) 在 javax.mail.internet.MimeMultipart.parse(MimeMultipart.java:186) 在 javax.mail.internet.MimeMultipart.getCount(MimeMultipart.java:109) 在 com.google.appengine.api.blobstore.dev.UploadBlobServlet.handleUpload(UploadBlobServlet.java: 135) 在 com.google.appengine.api.blobstore.dev.UploadBlobServlet.access $000(上传BlobServlet.java:72) 在 com.google.appengine.api.blobstore.dev.UploadBlobServlet $1.run(UploadBlobServlet.java:100) 在 java.security.AccessController.doPrivileged(本机方法) 在 com.google.appengine.api.blobstore.dev.UploadBlobServlet.doPost(UploadBlobServlet.java: 98) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:713) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:806) 在 org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 511);

我在 Eclipse 上使用了内存分析器,它说内存泄漏 怀疑是 QueuedThreadPool。我找到了有关内存的信息 泄漏错误:

http://jira.codehaus.org/browse/JETTY-1188

还有其他人遇到过这个问题吗?

谢谢, 让

【问题讨论】:

    标签: google-app-engine blobstore


    【解决方案1】:

    如果有人遇到这种情况,很可能问题实际上是由文件输入字段中缺少“名称”属性引起的。

    见:Uploading to Blobstore gives a Java heap OutOfMemoryError

    解决此问题后,您应该可以上传任何大小的文件。

    【讨论】:

      【解决方案2】:

      在上传和处理文件时,开发服务器可能会将文件保存在内存中。生产服务器上不是这种情况。

      您正在测试的文件有多大?最简单的解决方案是使用较小的文件进行测试。

      【讨论】:

        【解决方案3】:

        我可以在开发服务器上获得任何文件大小的文件。

        【讨论】:

          猜你喜欢
          • 2011-03-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-12-11
          • 2011-08-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多