OutOfMemoryError пытается загрузить локально в Blobstore - PullRequest
4 голосов
/ 08 июня 2010

Я пытаюсь настроить базовую загрузку файлов в blobstore, но получаю this 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 (UploadBlobServlet.java:72) на com.google.appengine.api.blobstore.dev.UploadBlobServlet $ 1.run (UploadBlobServlet.java:100) at 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

Кто-нибудь еще имел эту проблему?

Спасибо, Жан

Ответы [ 3 ]

6 голосов
/ 26 апреля 2011

В случае, если кто-нибудь сталкивается с этим, скорее всего, проблема в действительности вызвана отсутствующим атрибутом 'name' в поле ввода файла.

См .: Загрузка в Blobstore дает кучу Java OutOfMemoryError

После этого вы сможете загружать файлы любого размера.

0 голосов
/ 09 марта 2011

Я получаю его с любым размером файла на сервере dev.

0 голосов
/ 08 июня 2010

Вероятно, сервер разработки хранит файл в памяти во время его загрузки и обработки. На производственном сервере это не так.

Насколько велик файл, с которым вы тестируете? Самое простое решение - это проверить файлы меньшего размера.

...