Boon
Since Camel 2.16
Boon is a Data Format which uses the Boon JSON marshalling library to unmarshal an JSON payload into Java objects or to marshal Java objects into an JSON payload. Boon aims to be a simple and https://github.com/RichardHightower/json-parsers-benchmark[fast parser] than other common parsers currently used.
Options
The Boon dataformat supports 3 options, which are listed below.
Name | Default | Java Type | Description |
---|---|---|---|
unmarshalTypeName |
|
Class name of the java type to use when unarmshalling |
|
useList |
|
|
To unarmshal to a List of Map or a List of Pojo. |
contentTypeHeader |
|
|
Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. |
Spring Boot Auto-Configuration
When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-boon-starter</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>
The component supports 4 options, which are listed below.
Name | Description | Default | Type |
---|---|---|---|
camel.dataformat.boon.content-type-header |
Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. |
false |
Boolean |
camel.dataformat.boon.enabled |
Enable boon dataformat |
true |
Boolean |
camel.dataformat.boon.unmarshal-type-name |
Class name of the java type to use when unarmshalling |
String |
|
camel.dataformat.boon.use-list |
To unarmshal to a List of Map or a List of Pojo. |
false |
Boolean |
ND
Using the Java DSL
DataFormat boonDataFormat = new BoonDataFormat("com.acme.model.Person");
from("activemq:My.Queue")
.unmarshal(boonDataFormat)
.to("mqseries:Another.Queue");
Using Blueprint XML
<bean id="boonDataFormat" class="org.apache.camel.component.boon.BoonDataFormat">
<argument value="com.acme.model.Person"/>
</bean>
<camelContext id="camel" xmlns="http://camel.apache.org/schema/blueprint">
<route>
<from uri="activemq:My.Queue"/>
<unmarshal ref="boonDataFormat"/>
<to uri="mqseries:Another.Queue"/>
</route>
</camelContext>