mirror of https://github.com/apache/jclouds.git
JCLOUDS-264: Allow payloads greater than 2 GB
Enabled by JDK 7.
This commit is contained in:
parent
5e8bd02c93
commit
7e4cacf9ea
|
@ -180,15 +180,10 @@ public class JavaUrlHttpCommandExecutorService extends BaseHttpCommandExecutorSe
|
||||||
connection.setChunkedStreamingMode(8196);
|
connection.setChunkedStreamingMode(8196);
|
||||||
writePayloadToConnection(payload, "streaming", connection);
|
writePayloadToConnection(payload, "streaming", connection);
|
||||||
} else {
|
} else {
|
||||||
Long length = checkNotNull(md.getContentLength(), "payload.getContentLength");
|
long length = checkNotNull(md.getContentLength(), "payload.getContentLength");
|
||||||
// TODO: remove check after moving to JDK 7.
|
|
||||||
checkArgument(length <= Integer.MAX_VALUE,
|
|
||||||
"Cannot transfer 2 GB or larger chunks due to JDK 1.6 limitations." +
|
|
||||||
" Use chunked encoding or multi-part upload, if possible." +
|
|
||||||
" For more information: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6755625");
|
|
||||||
if (length > 0) {
|
if (length > 0) {
|
||||||
connection.setRequestProperty(CONTENT_LENGTH, length.toString());
|
connection.setRequestProperty(CONTENT_LENGTH, String.valueOf(length));
|
||||||
connection.setFixedLengthStreamingMode(length.intValue());
|
connection.setFixedLengthStreamingMode(length);
|
||||||
writePayloadToConnection(payload, length, connection);
|
writePayloadToConnection(payload, length, connection);
|
||||||
} else {
|
} else {
|
||||||
writeNothing(connection);
|
writeNothing(connection);
|
||||||
|
|
Loading…
Reference in New Issue