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/
