HTTP HttpURLConnection Large File Upload

rlz

Mitglied
Hallo Forum

Mit HTTP PUT lade ich einigermassen grosse Dateien (z.B. 300M) auf einen Server. Der Client muss die Datei offenbar im Heap halten, denn mit ansteigender Dateigrösse entdecke ich irgendwann:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2786)
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:94)
at sun.net.www.http.PosterOutputStream.write(PosterOutputStream.java:61)
at com.telekurs.finesb.pos.cli.adapter.PosClientAdapter.createPhysRes

und mit einer Erhöhung des Client Heap auf z.B -Xms1024M -Xmx1024M klappt dann der Upload vorerst wieder.

Nun meine Frage:

Ist es mit der java.net.HttpURLConnection möglich, grosse Datenmengen zu streamen, bei konstanter Memory Allokation, und wenn ja, wie geht das? Mein Ziel ist mit einem Client mit z.B. 128 MB max heap eine sehr grosse, nicht vom Client limitierte Anzahl Bytes auf einen Server zu streamen.

Oder liegt mein Problem vielleicht auf dem Server? Der Server hat einen HTTP REST Adapter (JAX-RS /Jersey), um den ich mich vorerst noch nicht gekümmert habe.



Der Client funktioniert so:
Java:
      HttpURLConnection c = openConnection( name );    
      c.setRequestMethod( "PUT" );
      c.setDoOutput( true );
      c.connect();

      int n = -1;
      byte[] ba= new byte[ 1048576 ];
      OutputStream os = c.getOutputStream();
      while ( ( n = is.read( ba, 0, ba.length ) ) != -1 )  
        os.write( ba, 0, n );   
      os.flush();    
      os.close(); 
      is.close();


Vielen Dank fürs Nachdenken!
Rene
 

rlz

Mitglied
Java:
     HttpURLConnection c = openConnection( name );    
      c.setRequestMethod( "PUT" );
      c.setDoOutput( true );
      c.setDoInput( true );
      c.setChunkedStreamingMode( 2048 );  // enable streaming of HTTP request body
      c.connect();
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Brauche Hilfe beim GET-String für HttpURLConnection Netzwerkprogrammierung 4
E HttpUrlConnection Cookie Problem Netzwerkprogrammierung 0
V Unterschied zwischen cURL und HttpURLConnection?? Netzwerkprogrammierung 2
E HTTP HttpURLConnection & Javascript Netzwerkprogrammierung 2
A HTTP HttpURLConnection wiederverwenden? Netzwerkprogrammierung 2
T HttpURLConnection Netzwerkprogrammierung 6
T Ladezeit einer Seite mit HttpURLConnection und Bildern Netzwerkprogrammierung 2
J HttpURLConnection ResponseCode 403 Netzwerkprogrammierung 2
S HttpURLConnection POST splittet Daten in zwei Pakete Netzwerkprogrammierung 9
M HttpURLConnection und Proxy Netzwerkprogrammierung 2
D Hilfe, meine HttpURLConnection hängt manchmal. Netzwerkprogrammierung 9
F HttpURLConnection überschreiben Netzwerkprogrammierung 2
W Problem mit HttpURLConnection Netzwerkprogrammierung 2
W HttpURLConnection-Wikipedia Netzwerkprogrammierung 15
E Multi-Part Form-Daten mit HttpURLConnection Netzwerkprogrammierung 6
M HttpUrlConnection + Client/Server Problem Netzwerkprogrammierung 2
X mehrere Request über eine HttpURLConnection Netzwerkprogrammierung 2
S Probleme mit HttpURLConnection Netzwerkprogrammierung 10
G Redirects einer HttpURLConnection ermitteln Netzwerkprogrammierung 4
D CSV File Upload Netzwerkprogrammierung 5
D Socket Gute Idee?: File als byte[] per ObjectIOStream übertragen Netzwerkprogrammierung 3
S Webserver für Jar File Netzwerkprogrammierung 4
H Applet soll XML-File auf Server speichern Netzwerkprogrammierung 6
R Apache HttpClient File Download? Netzwerkprogrammierung 3
0 Apache Commons File Object bekommen Netzwerkprogrammierung 4
D Server Client Verbindung - Unexpected End of File - Invalid HTTP Response Netzwerkprogrammierung 4
M HTTP File Upload mit Prozessbar Funktioniert nicht. Netzwerkprogrammierung 8
5 File Upload/ ClassNotFoundException Netzwerkprogrammierung 9
S RSS-Feed aus ini File Netzwerkprogrammierung 4
Z File über Socket lesen Netzwerkprogrammierung 3
N Socket File über Socket vom Server an Client versenden Netzwerkprogrammierung 15
F Protokoll file:/// Netzwerkprogrammierung 2
B JNLP File -> Web Application Netzwerkprogrammierung 10
DStrohma RMI Security Manager & Policy-File Netzwerkprogrammierung 8
DeviAn Über ein Linux Server ein Windows Server nach einer File fragen Netzwerkprogrammierung 6
P java file.exists() zuzerstörbar Netzwerkprogrammierung 7
E java.net.SocketException: Unexpected end of file from server Netzwerkprogrammierung 2
G SMB-File ausführen Netzwerkprogrammierung 15
J Problem beim Senden von File Netzwerkprogrammierung 4
J Mit der File Api Dateien von anderen Rechnern lesen ? Netzwerkprogrammierung 3
I unc pfad für die klasse file? Netzwerkprogrammierung 4
V file transfer problem Netzwerkprogrammierung 2
E upload progress bei einem http file post Netzwerkprogrammierung 5
L file upload / download über http Netzwerkprogrammierung 5
P File von http-Server kopieren Netzwerkprogrammierung 5
N File Transfer Netzwerkprogrammierung 5
D wie kann ich rmic ein .jar file übergeben? Netzwerkprogrammierung 3
R File chooser übers Netzwerk Netzwerkprogrammierung 3
J File upload mit ftp Netzwerkprogrammierung 4
G file download über https mit p12 Zertifikat Netzwerkprogrammierung 4
D Performance Problem beim File senden, empfangen Netzwerkprogrammierung 4
T file auf einen server laden Netzwerkprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben