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