[
https://issues.apache.org/jira/browse/CAMEL-9868?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-9868.
--------------------------------
Resolution: Fixed
Assignee: Stephan Siano
Fix Version/s: 2.18.0
> Rework Attachment Support in Camel Message and related Interfaces
> -----------------------------------------------------------------
>
> Key: CAMEL-9868
> URL: https://issues.apache.org/jira/browse/CAMEL-9868
> Project: Camel
> Issue Type: Improvement
> Components: camel-core
> Affects Versions: 3.0.0
> Reporter: Stephan Siano
> Assignee: Stephan Siano
> Fix For: 2.18.0
>
>
> The attachment support in the current (2.x) Camel Message interface is not
> optimal for two reasons:
> 1. having attachments in the plain Message interface implies that each
> component supports attachments (which is not the case as only few selected
> components like camel-mail and camel-cxf support attachments)
> 2. the current interface is essentuially a Map<String,DataHandler>. However
> real live attachments have headers in addition to the message body (which is
> essentially represented by the DataHandler) Remark: the DataHandler has
> support for the Content-Type (which is one of the headers) but has no way to
> contain the others.
> An (incompatible) better aproach (for Camel 3.0) could look as described
> below:
> 1. the attachment support is removed from the Message interface and from the
> default Message implementation.
> 2. A new Interface (e.g. AttachmentCapable) is provided in the API for
> attachment support (plus another Interface representing the Attachment itself
> that contains the DataHandler and the headers)
> 3. There should probably be a default message implementation supporting
> attachments (like DefaultAttachmentMessageImple) which extends
> DefaultMessageImpl and implements AttachmentCapable
> 4. Components that support attachments like camel-mail (or camel-cxf) can
> either use that default implementation (as camel-cxf does) or provide their
> own message implementation that implements AttachmentCapable. This message
> needs to be instantiated by consumer endpoints (and attachment capable
> producer endpoints that provide an InOut communication pattern (e.g.
> camel-cxf for request reply web services that return an attachment).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)