atom feed5 messages in Large SAAJ attachments and OutOfM...
FromSent OnAttachments
yann...@gmail.comAug 8, 2011 2:36 am 
Dmitry KatsuboAug 9, 2011 10:03 am 
Kumar JayantiAug 9, 2011 10:12 am 
yann BlazartAug 9, 2011 10:49 am 
Dmitry KatsuboAug 11, 2011 2:29 pm 
Subject:Re: Large SAAJ attachments and OutOfMemoryError
From:Dmitry Katsubo (
Date:Aug 11, 2011 2:29:17 pm

On 09.08.2011 19:12, Kumar Jayanti wrote:

When receiving incoming messagges SAAJ can utilize MimePull Parser which stores the attachment to file system.

not sure if this will help in this case.

On 09-Aug-2011, at 10:33 PM, Dmitry Katsubo wrote:

On 08.08.2011 11:36, wrote:

Hi ! As I ve no responses, I'm writing to the list.

I have open a bug As nobody take it, I've writed a post on the forum, but no more response...

So, when you modify an outcome message with a Handler, and when you deal with large attachment,you have a problem, because in the classe, we have the following method used by MimeCodec and MTOMCodec :

public void writeTo(OutputStream os) throws IOException { os.write(asByteArray()); }

The document is entirely mounted in memory !

Is anybody can make a patch to correct this ?

Now I got what you mean. The problem is in SAAJ library, not in JAXB. So post the bug here:

The code of SAAJAttachment.writeTo() should be something like:

IOUtils.copy(asInputStream(), os);

and iff MimeBodyPart was initialized with SharedInputStream this code do the job.