Hi

The JMS data model is
- body
- headers / properties

You can read how Camel maps to this from the Camel JMS wiki page
http://camel.apache.org/jms

And JMS have limitations what data type you can send, especially for
its properties.

So for attachments, you must transfer that in a way that is supported by JMS.
Either in the body itself as a bytes message.
Or somehow encode it and attach as a property. I can't recall if there
is some limitations on the length of JMS properties. But I would
assume.
Check the JMS spec and/or JMS javadoc.
http://docs.oracle.com/javaee/6/api/javax/jms/Message.html


Some message brokers have special support for large payloads (out of
bands), and allow to transfer the big data using other means
such as over HTTP / FTP / SCP etc. So that could be an alternative for
very large data. But I do not think its so very commonly used.


On Mon, Mar 26, 2012 at 1:19 PM, Stefan Burkard <[email protected]> wrote:
> Hi all
>
> Camels DefaultMessage has an attachment map and CXFs message also
> knows attachments. But a JMS message does not know about attachments.
>
> I have an mtom-enabled SOAP service that sends an object along with
> file attachments (mtom to serialize attachments as binary data instead
> of base64). I consume these messages with CXF to get a Camel Exchange
> for further processing. But how would I handle the attachments to put
> the messages on a plain JMS-queue?
>
> Is there any standard way or a recommendation how to handle file
> attachments in JMS messages?
>
> I can of course marshal and unmarshal the messages with JAXB, but then
> the attachments are serialized as base64.
>
> Thanks
> Stefan



-- 
Claus Ibsen
-----------------
CamelOne 2012 Conference, May 15-16, 2012: http://camelone.com
FuseSource
Email: [email protected]
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Reply via email to