Repository: camel Updated Branches: refs/heads/camel-2.12.x 11db66d85 -> 524c13d10 refs/heads/camel-2.13.x d5e6e1dc6 -> 8d83cbe57 refs/heads/master 6a635c0d3 -> 1ebfd0aa5
CAMEL-7311: camel-mail should not fetch attachments if mapMailMessage=false as part of message copy during UoW. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/1ebfd0aa Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/1ebfd0aa Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/1ebfd0aa Branch: refs/heads/master Commit: 1ebfd0aa5e28edb38af4fef13bdabe1e208d07eb Parents: 6a635c0 Author: Claus Ibsen <[email protected]> Authored: Wed Mar 19 10:51:02 2014 +0100 Committer: Claus Ibsen <[email protected]> Committed: Wed Mar 19 10:51:02 2014 +0100 ---------------------------------------------------------------------- .../apache/camel/component/mail/MailEndpoint.java | 2 +- .../apache/camel/component/mail/MailMessage.java | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/1ebfd0aa/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java index bed5b3f..b4bd387 100644 --- a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java +++ b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java @@ -119,7 +119,7 @@ public class MailEndpoint extends ScheduledPollEndpoint { private Exchange createExchange(ExchangePattern pattern, Message message) { Exchange exchange = new DefaultExchange(this, pattern); exchange.setProperty(Exchange.BINDING, getBinding()); - exchange.setIn(new MailMessage(message)); + exchange.setIn(new MailMessage(message, getConfiguration().isMapMailMessage())); return exchange; } http://git-wip-us.apache.org/repos/asf/camel/blob/1ebfd0aa/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java index 365ca29..7416a46 100644 --- a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java +++ b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java @@ -35,12 +35,18 @@ public class MailMessage extends DefaultMessage { // mail content, see more in MailBinding private Message originalMailMessage; private Message mailMessage; + private boolean mapMailMessage; public MailMessage() { } public MailMessage(Message message) { + this(message, true); + } + + public MailMessage(Message message, boolean mapMailMessage) { this.originalMailMessage = this.mailMessage = message; + this.mapMailMessage = mapMailMessage; } @Override @@ -56,10 +62,13 @@ public class MailMessage extends DefaultMessage { MailMessage answer = (MailMessage)super.copy(); answer.originalMailMessage = originalMailMessage; answer.mailMessage = mailMessage; - // force attachments to be created (by getting attachments) to ensure they are always available due Camel error handler - // makes defensive copies, and we have optimized it to avoid populating initial attachments, when not needed, - // as all other Camel components do not use attachments - getAttachments(); + + if (mapMailMessage) { + // force attachments to be created (by getting attachments) to ensure they are always available due Camel error handler + // makes defensive copies, and we have optimized it to avoid populating initial attachments, when not needed, + // as all other Camel components do not use attachments + getAttachments(); + } return answer; } @@ -132,6 +141,7 @@ public class MailMessage extends DefaultMessage { MailMessage mailMessage = (MailMessage) that; this.originalMailMessage = mailMessage.originalMailMessage; this.mailMessage = mailMessage.mailMessage; + this.mapMailMessage = mailMessage.mapMailMessage; } }
