Camel поддерживает различные форматы данных подключаемым способом.Это означает, что Camel может маршалировать или отменять маршалинг сообщения в заданном формате.Camel изначально поддерживает Avro, JSON, protobuf, JAXB, XmlBeans, XStream, JiBX, SOAP и т. Д.
Camel знает ожидаемый формат и тип конечных точек, для этого верблюд ищет преобразователь типов, который может преобразовыватьсообщение от одного типа к другому. Вы даже можете использовать свой собственный преобразователь типов, например класс POJO.
В приведенном ниже примере .convertBodyTO
сначала преобразуйте поток в строку, мы также можем изменить кодировку потокаустановив параметр charset.
пример -
from("file://riders/inbox")
.convertBodyTo(String.class,"UTF-8")
.to("activemq:queue:inbox");
.marshal().csv()
маршелирует его в формат строки CSV
Вы можете использовать формат данных, когда вам нужно преобразовать ваше сообщение в определенные типы данных, такие как JSON,YAML,JAXB
, но вы не можете использовать DataFormat для преобразования вашего сообщения в определенный пользователем тип данных.