Author: norman
Date: Wed May 18 13:11:19 2011
New Revision: 1124249

URL: http://svn.apache.org/viewvc?rev=1124249&view=rev
Log:
Only copy message body to memory if really needed. This will also help to 
prevent OOM in many cases. See JAMES-1252

Modified:
    
james/server/trunk/core/src/main/java/org/apache/james/core/MimeMessageWrapper.java

Modified: 
james/server/trunk/core/src/main/java/org/apache/james/core/MimeMessageWrapper.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/core/src/main/java/org/apache/james/core/MimeMessageWrapper.java?rev=1124249&r1=1124248&r2=1124249&view=diff
==============================================================================
--- 
james/server/trunk/core/src/main/java/org/apache/james/core/MimeMessageWrapper.java
 (original)
+++ 
james/server/trunk/core/src/main/java/org/apache/james/core/MimeMessageWrapper.java
 Wed May 18 13:11:19 2011
@@ -643,10 +643,13 @@ public class MimeMessageWrapper extends 
         } else {
             try {
 
-                if (!bodyModified && headersModified && source != null) {
+                // Try to optimize if possible to prevent OOM on big mails.
+                // See JAMES-1252 for an example
+                if (!bodyModified && source != null) {
                     // ok only the headers were modified so we don't need to
                     // copy the whole message content into memory
                     InputStream in = source.getInputStream();
+                    
                     // skip over headers from original stream we want to use 
the
                     // in memory ones
                     new MailHeaders(in);



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to