commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patrick Herber <patrick.her...@gmail.com>
Subject Re: [compress] add a memory efficient stream compress InputStream - e.g. a "DeflaterInputStream"
Date Tue, 01 Sep 2009 13:12:32 GMT
Hi!
Thanks a lot for your reply. Please correct me: in practice do you 
suggest changing in my piece of code the line

GZIPOutputStream gos = new GZIPOutputStream(new FileOutputStream(tempFile));

with

GzipCompressorOutputStream gos = new GzipCompressorOutputStream(new 
FileOutputStream(tempFile));isn't it?

In case, I imagined that the solution of the issue COMPRESS-48 was more 
something that skipped this whole InputStream to OutputStream to 
InputStream process.
Something like

InputStream is = ... // original inputStream
stmt.setBinaryStream(3, new GZIPCompressorInputStream(is), -1);
// ... "GZIPCompressorInputStream" would be a decorator which compress 
the underlying inputstream
stmt.executeUpdate();

Is something not feasible?

Thanks again and best regards,
Patrick


Christian Grobmeier wrote:
> Hi there,
>
> I think this one has been addressed in
> https://issues.apache.org/jira/browse/COMPRESS-83
> This change is not released yet. You might want to check the code out
> from SVN and build it yourself.
> I have some time left later this year and hopefully this change will
> come with an 1.1 version soon. But this needs to be discussed on the
> dev list.
>
> Let me know if you need help or if this works out for you
>
> Best regards,
> Christian
>
> On Tue, Sep 1, 2009 at 12:33 PM, Patrick Herber<patrick.herber@gmail.com> wrote:
>   
>> Hello!
>>
>> I've the same issue as described in
>>
>> https://issues.apache.org/jira/browse/COMPRESS-48
>>
>> My web application recieves an InputStream (an uploaded large file) which I
>> need to save compressed in the DB.
>> Currently (since the file could be really big) I save it GZIP-ed into a Temp
>> File and then I open a new InputStream to that file. However this process
>> take up more than 60% of the overall method execution:
>>
>> tempFile = File.createTempFile(Long.toString(getId()), null);
>> tempFile.deleteOnExit();
>> GZIPOutputStream gos = new GZIPOutputStream(new FileOutputStream(tempFile));
>> IOUtils.copy(is, gos);
>> is = new FileInputStream(tempFile);
>> stmt.setBinaryStream(3, is, -1);
>> stmt.executeUpdate();
>>
>> The issue is marked as fixed but I didn't find how/where.
>> Could you kindly give me a sample how to do it?
>>
>> Thanks a lot for your help
>>
>> Best regards
>>
>> Patrick
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
>> For additional commands, e-mail: user-help@commons.apache.org
>>
>>
>>     
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
> For additional commands, e-mail: user-help@commons.apache.org
>
>
>   

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message