2
Ich arbeite auf Dateiupload mit Code unter, aber während ich mehr als 300 MB Datei hochladen, bekomme ich OutOfMemoryError.Jersey2 Client OutOfMemoryError beim Hochladen großer Datei
Hier ist mein Code unten
package com.actifio.service.foresight;
import java.io.File;
import java.io.IOException;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Response;
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
import org.glassfish.jersey.media.multipart.MultiPartFeature;
import org.glassfish.jersey.media.multipart.file.FileDataBodyPart;
public class UploadFileTest {
public static void main(String[] args) throws IOException {
final Client client = ClientBuilder.newBuilder()
.register(MultiPartFeature.class).build();
final FileDataBodyPart filePart = new FileDataBodyPart("file",
new File("C:/temp/sample.pdf"));
FormDataMultiPart formDataMultiPart = new FormDataMultiPart();
final FormDataMultiPart multipart = (FormDataMultiPart) formDataMultiPart
.field("foo", "bar").bodyPart(filePart);
final WebTarget target = client
.target("http://localhost:8080/JerseyDemos/rest/upload/pdf");
final Response response = target.request().post(
Entity.entity(multipart, multipart.getMediaType()));
// Use response object to verify upload success
formDataMultiPart.close();
multipart.close();
}
}
Aber ich bin immer Java Heap-Speicher Ausnahme, unten überprüfen, um weitere Informationen
javax.ws.rs.ProcessingException: Java heap space
at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:263)
at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:671)
at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:668)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:228)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:444)
at
mir jemand zu diesem Thema helfen?
Was ist der Wert der maximalen Java Heap-Größe? Was machst du mit der Datei auf deinem Server? –