You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2011/05/18 15:11:19 UTC

svn commit: r1124249 - /james/server/trunk/core/src/main/java/org/apache/james/core/MimeMessageWrapper.java

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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org