[ 
https://issues.apache.org/jira/browse/JCLOUDS-410?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13874623#comment-13874623
 ] 

Francis Devereux commented on JCLOUDS-410:
------------------------------------------

The @deprecated tag for 
org.jclouds.blobstore.domain.BlobBuilder.payload(java.io.File) says to use 
payload(Files.asByteSource(File)) instead.

I think that the new way of doing things will not work or will perform poorly 
for large files but the deprecated will would work fine. This is because 
Files.asByteSource(File) reads the whole file into memory(!), or fails 
altogether for files larger than Integer.MAX_VALUE (see 
com.google.common.io.Files.FileByteSource.read()) whereas as far as I can tell 
the deprecated way will stream the file and will thus work fine for huge files.

> Convert InputSupplier<InputStream> methods to ByteSource
> --------------------------------------------------------
>
>                 Key: JCLOUDS-410
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-410
>             Project: jclouds
>          Issue Type: Improvement
>          Components: jclouds-blobstore, jclouds-core
>    Affects Versions: 1.7.0
>            Reporter: Andrew Gaul
>            Assignee: Andrew Gaul
>             Fix For: 1.8.0
>
>
> ByteSource has convenience methods and avoids generics notational overhead.  
> Guava is moving towards this:
>     
> https://groups.google.com/forum/#!msg/guava-discuss/bChfnnXb9QA/xlmy2UzsmpsJ
> Note that ByteSource implements InputSupplier<InputStream> so we should 
> retain source compatibility.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to