Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/camel/content/cafe-example.html
==============================================================================
--- websites/production/camel/content/cafe-example.html (original)
+++ websites/production/camel/content/cafe-example.html Tue Mar 26 22:22:28 2019
@@ -118,14 +118,14 @@ public void configure() {
<h3 id="CafeExample-Running">Running</h3>
<p>You will need to compile this example first:</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
mvn compile
</pre>
</div></div>
<p>The example should run if you type:</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
mvn exec:java
@@ -136,7 +136,7 @@ public void configure() {
<h3 id="CafeExample-Sampleoutput">Sample output</h3>
<p>When the client is running it outputs all requests and responses on the
screen.</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
Camel thread 4: seda://coldDrinks?concurrentConsumers=2 prepared cold drink #1
for order #2: iced 2 shot ESPRESSO
Modified: websites/production/camel/content/composed-message-processor.html
==============================================================================
--- websites/production/camel/content/composed-message-processor.html (original)
+++ websites/production/camel/content/composed-message-processor.html Tue Mar
26 22:22:28 2019
@@ -113,7 +113,7 @@ Whereas using the <a shape="rect" href="
<p><strong>Using the <a shape="rect" href="spring-xml-extensions.html">Spring
XML Extensions</a></strong></p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
<route>
<from uri="direct:start"/>
Modified: websites/production/camel/content/content-filter.html
==============================================================================
--- websites/production/camel/content/content-filter.html (original)
+++ websites/production/camel/content/content-filter.html Tue Mar 26 22:22:28
2019
@@ -115,7 +115,7 @@
<p><strong>Using Spring XML</strong></p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
<route>
<from uri="activemq:Input"/>
@@ -127,7 +127,7 @@
<p>You can also use XPath to filter out part of the message you are interested
in:</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
<route>
<from uri="activemq:Input"/>
Modified: websites/production/camel/content/custom-dataformat.html
==============================================================================
--- websites/production/camel/content/custom-dataformat.html (original)
+++ websites/production/camel/content/custom-dataformat.html Tue Mar 26
22:22:28 2019
@@ -98,7 +98,7 @@
<div class="error conf-macro output-inline" data-hasbody="true"
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20,
Size: 20</span> </div>
<p>Notice we use custom to refer to the <a shape="rect"
href="data-format.html">Data Format</a> in the <a shape="rect"
href="registry.html">Registry</a>. In Java DSL you can also provide the
instance directly as shown:</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
from("direct:a")
.marshal(new MyReverseDataFormat())
@@ -133,7 +133,7 @@ Error rendering macro 'code': Invalid va
</pre>
<p>Notice in the XML DSL example above we use <custom> to refer to a
custom data format. This requires <strong>Camel 2.8</strong> or better. In
older releases you would have to use the <code>ref</code> attribute as shown
below. Notice the <code>ref</code> attribute has been @deprecated and you
should prefer to use the <custom> way:</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
<marshal ref="reverse"/>
</pre>
Modified: websites/production/camel/content/cxf-tomcat-example.html
==============================================================================
--- websites/production/camel/content/cxf-tomcat-example.html (original)
+++ websites/production/camel/content/cxf-tomcat-example.html Tue Mar 26
22:22:28 2019
@@ -96,7 +96,7 @@
There is a <code>README.txt</code> file with instructions how to run it.</p>
<p>If you use maven then you can easily package the example from the command
line:</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
mvn package
</pre>
@@ -129,7 +129,7 @@ public interface IncidentService {
<p>In the Camel route we expose this web service very easily using the Camel
<a shape="rect" href="cxf.html">CXF</a> component.<br clear="none">
All we have to do is to define an endpoint uri in the format</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
cxf:/incident?serviceClass=org.apache.camel.example.cxf.incident.IncidentService
</pre>
Modified: websites/production/camel/content/data-format.html
==============================================================================
--- websites/production/camel/content/data-format.html (original)
+++ websites/production/camel/content/data-format.html Tue Mar 26 22:22:28 2019
@@ -107,7 +107,7 @@
<p>For example</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
DataFormat jaxb = new JaxbDataFormat("com.acme.model");
@@ -121,7 +121,7 @@ from("activemq:My.Queue").
<p>You can also use the DSL itself to define the data format as you use it.
For example the following uses Java serialization to unmarshal a binary file
then send it as an ObjectMessage to <a shape="rect"
href="activemq.html">ActiveMQ</a></p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
from("file://foo/bar").
unmarshal().serialization().
@@ -135,7 +135,7 @@ from("file://foo/bar").
<p>The following example unmarshals via serialization then marshals using a
named JAXB data format to perform a kind of <a shape="rect"
href="message-translator.html">Message Translator</a></p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
from("file://foo/bar").
unmarshal().serialization().
@@ -171,7 +171,7 @@ Error rendering macro 'code': Invalid va
<p>You can also define reusable data formats as Spring beans </p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
<bean id="myJaxb"
class="org.apache.camel.model.dataformat.JaxbDataFormat">
<property name="prettyPrint" value="true"/>
Modified: websites/production/camel/content/detour.html
==============================================================================
--- websites/production/camel/content/detour.html (original)
+++ websites/production/camel/content/detour.html Tue Mar 26 22:22:28 2019
@@ -102,7 +102,7 @@
<p><strong>Using the <a shape="rect" href="spring-xml-extensions.html">Spring
XML Extensions</a></strong></p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
<route>
<from uri="direct:start"/>
Modified: websites/production/camel/content/ejb.html
==============================================================================
--- websites/production/camel/content/ejb.html (original)
+++ websites/production/camel/content/ejb.html Tue Mar 26 22:22:28 2019
@@ -95,7 +95,7 @@
<p>The <strong>ejb:</strong> component binds EJBs to Camel message
exchanges.</p>
<p>Maven users will need to add the following dependency to their
<code>pom.xml</code> for this component:</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
<dependency>
<groupId>org.apache.camel</groupId>
@@ -109,7 +109,7 @@
<h3 id="EJB-URIformat">URI format</h3>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
ejb:ejbName[?options]
</pre>
Modified:
websites/production/camel/content/eventnotifier-to-log-details-about-all-sent-exchanges.html
==============================================================================
---
websites/production/camel/content/eventnotifier-to-log-details-about-all-sent-exchanges.html
(original)
+++
websites/production/camel/content/eventnotifier-to-log-details-about-all-sent-exchanges.html
Tue Mar 26 22:22:28 2019
@@ -89,7 +89,7 @@
<tbody>
<tr>
<td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2
id="EventNotifiertologdetailsaboutallsentExchanges-EventNotifiertologdetailsaboutallsentExchanges"><code>EventNotifier</code>
to log details about all sent Exchanges</h2><p>If you want to log information
all time taken to send and receive replies when sending to external endpoints,
then you can leverage the <strong><code>EventNotifier</code></strong> in Camel.
It allows you to subscribe to events and react upon them.</p><p>For example we
want to log the time it takes to send to endpoints which can be done by
implementing a class which this logic as follows:</p><div class="error
conf-macro output-inline" data-hasbody="true"
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20,
Size: 20</span> </div>Then in Java DSL you can tell Camel to use your custom
<code>EventNotifier</code> simply by adding it:<div class="code panel pdl
conf-macro output-block"
data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h2
id="EventNotifiertologdetailsaboutallsentExchanges-EventNotifiertologdetailsaboutallsentExchanges"><code>EventNotifier</code>
to log details about all sent Exchanges</h2><p>If you want to log information
all time taken to send and receive replies when sending to external endpoints,
then you can leverage the <strong><code>EventNotifier</code></strong> in Camel.
It allows you to subscribe to events and react upon them.</p><p>For example we
want to log the time it takes to send to endpoints which can be done by
implementing a class which this logic as follows:</p><div class="error
conf-macro output-inline" data-hasbody="true"
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20,
Size: 20</span> </div>Then in Java DSL you can tell Camel to use your custom
<code>EventNotifier</code> simply by adding it:<div class="code panel pdl
conf-macro output-block"
style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div
class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default"
data-theme="Default">context.getManagementStrategy().addEventNotifier(new
MyLoggingSentEventNotifer());
</pre>
</div></div><p>And in Spring XML you declare a Spring bean and Camel will
automatically pick it up:Error rendering macro 'code': Invalid value specified
for parameter 'java.lang.NullPointerException'</p><pre class="conf-macro
output-inline" data-hasbody="true"
data-macro-name="unmigrated-inline-wiki-markup">
@@ -109,7 +109,7 @@
</route>
</camelContext>
-</pre>If you run this example you will notice how Camel logs this now:<div
class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+</pre>If you run this example you will notice how Camel logs this now:<div
class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">INFO
CamelContextFactoryBean - Using custom EventNotifier with id:
myLoggingEventNotifier and implementation:
org.apache.camel.processor.MyLoggingSentEventNotifer@76bf9e
INFO MyLoggingSentEventNotifer - Took 1001 millis to send to:
Endpoint[direct://bar]
INFO MyLoggingSentEventNotifer - Took 0 millis to send to:
Endpoint[mock://result]
Modified: websites/production/camel/content/jackson-xml.html
==============================================================================
--- websites/production/camel/content/jackson-xml.html (original)
+++ websites/production/camel/content/jackson-xml.html Tue Mar 26 22:22:28 2019
@@ -89,19 +89,19 @@
<tbody>
<tr>
<td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="JacksonXML-JacksonXML">Jackson
XML</h2><p><strong>Available as of Camel 2.16</strong></p><p>Jackson XML is a
<a shape="rect" href="data-format.html">Data Format</a> which uses the <a
shape="rect" class="external-link"
href="http://wiki.fasterxml.com/JacksonHome/" rel="nofollow">Jackson
library</a> with the <a shape="rect" class="external-link"
href="https://github.com/FasterXML/jackson-dataformat-xml"
rel="nofollow">XMLMapper extension</a> to unmarshal an XML payload into Java
objects or to marshal Java objects into an XML payload.</p><div
class="confluence-information-macro confluence-information-macro-information
conf-macro output-block" data-hasbody="true" data-macro-name="info"><span
class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"> </span><div
class="confluence-information-macro-body"><p>If you are familiar with Jackson,
this XML data format behaves in the same way as its JSON counterpart, and
thus can be used with classes annotated for JSON
serialization/deserialization.</p><p>This extension also mimics <a shape="rect"
class="external-link"
href="https://github.com/FasterXML/jackson-dataformat-xml/blob/master/README.md"
rel="nofollow">JAXB's "Code first" approach</a>.</p><p>This data format relies
on <a shape="rect" class="external-link"
href="http://wiki.fasterxml.com/WoodstoxHome" rel="nofollow">Woodstox</a>
(especially for features like pretty printing), a fast and efficient XML
processor.</p></div></div><div class="code panel pdl conf-macro output-block"
data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h2 id="JacksonXML-JacksonXML">Jackson
XML</h2><p><strong>Available as of Camel 2.16</strong></p><p>Jackson XML is a
<a shape="rect" href="data-format.html">Data Format</a> which uses the <a
shape="rect" class="external-link"
href="http://wiki.fasterxml.com/JacksonHome/" rel="nofollow">Jackson
library</a> with the <a shape="rect" class="external-link"
href="https://github.com/FasterXML/jackson-dataformat-xml"
rel="nofollow">XMLMapper extension</a> to unmarshal an XML payload into Java
objects or to marshal Java objects into an XML payload.</p><div
class="confluence-information-macro confluence-information-macro-information
conf-macro output-block" data-hasbody="true" data-macro-name="info"><span
class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"> </span><div
class="confluence-information-macro-body"><p>If you are familiar with Jackson,
this XML data format behaves in the same way as its JSON counterpart, and
thus can be used with classes annotated for JSON
serialization/deserialization.</p><p>This extension also mimics <a shape="rect"
class="external-link"
href="https://github.com/FasterXML/jackson-dataformat-xml/blob/master/README.md"
rel="nofollow">JAXB's "Code first" approach</a>.</p><p>This data format relies
on <a shape="rect" class="external-link"
href="http://wiki.fasterxml.com/WoodstoxHome" rel="nofollow">Woodstox</a>
(especially for features like pretty printing), a fast and efficient XML
processor.</p></div></div><div class="code panel pdl conf-macro output-block"
style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div
class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">from("activemq:My.Queue").
unmarshal().jacksonxml().
to("mqseries:Another.Queue");
</pre>
-</div></div><h4 id="JacksonXML-UsingJacksonXMLinSpringDSL">Using Jackson XML
in Spring DSL</h4><p>When using <a shape="rect"
href="data-format.html">Data Format</a> in Spring DSL you need to declare
the data formats first. This is done in
the <strong>DataFormats</strong> XML tag.</p><div class="code panel
pdl conf-macro output-block" data-hasbody="true" data-macro-name="code"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h4 id="JacksonXML-UsingJacksonXMLinSpringDSL">Using Jackson XML
in Spring DSL</h4><p>When using <a shape="rect"
href="data-format.html">Data Format</a> in Spring DSL you need to declare
the data formats first. This is done in
the <strong>DataFormats</strong> XML tag.</p><div class="code panel
pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true"
data-macro-name="code"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: xml;
gutter: false; theme: Default" data-theme="Default"> <dataFormats>
<!-- here we define a Xml data format with the id jack and that
it should use the TestPojo as the class type when
doing unmarshal. The unmarshalTypeName is optional, if not
provided Camel will use a Map as the type -->
<jacksonxml id="jack"
unmarshalTypeName="org.apache.camel.component.jacksonxml.TestPojo"/>
</dataFormats>
</pre>
-</div></div><p>And then you can refer to this id in the route:</p><div
class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+</div></div><p>And then you can refer to this id in the route:</p><div
class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: xml;
gutter: false; theme: Default" data-theme="Default"> <route>
<from uri="direct:back"/>
<unmarshal ref="jack"/>
@@ -127,62 +127,62 @@ private int height = 190;
private int weight = 70;
</pre>Finally use the Camel <code>JacksonXMLDataFormat</code> to
marshall the above POJO to XML.Error rendering macro 'code': Invalid value
specified for parameter 'java.lang.NullPointerException'<pre class="conf-macro
output-inline" data-hasbody="true"
data-macro-name="unmigrated-inline-wiki-markup">
from("direct:inPojoAgeView").marshal().jacksonxml(TestPojoView.class,
Views.Age.class);
-</pre>Note that the weight field is missing in the resulting XML:<div
class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+</pre>Note that the weight field is missing in the resulting XML:<div
class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default"><pojo age="30"
weight="70"/></pre>
-</div></div><h3
id="JacksonXML-Include/ExcludefieldsusingthejsonViewattributewithJacksonXMLDataFormat">Include/Exclude
fields using the <code>jsonView</code> attribute
with <code>JacksonXML</code>DataFormat</h3><p>As an example of using this
attribute you can instead of:</p><div class="code panel pdl conf-macro
output-block" data-hasbody="true" data-macro-name="code" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+</div></div><h3
id="JacksonXML-Include/ExcludefieldsusingthejsonViewattributewithJacksonXMLDataFormat">Include/Exclude
fields using the <code>jsonView</code> attribute
with <code>JacksonXML</code>DataFormat</h3><p>As an example of using this
attribute you can instead of:</p><div class="code panel pdl conf-macro
output-block" style="border-width: 1px;" data-hasbody="true"
data-macro-name="code"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">JacksonXMLDataFormat
ageViewFormat = new JacksonXMLDataFormat(TestPojoView.class, Views.Age.class);
from("direct:inPojoAgeView").
marshal(ageViewFormat);
</pre>
-</div></div><p>Directly specify your <a shape="rect"
class="external-link" href="http://wiki.fasterxml.com/JacksonJsonViews"
rel="nofollow">JSON view</a> inside the Java DSL as:</p><div class="code
panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Directly specify your <a shape="rect"
class="external-link" href="http://wiki.fasterxml.com/JacksonJsonViews"
rel="nofollow">JSON view</a> inside the Java DSL as:</p><div class="code
panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default"
data-theme="Default">from("direct:inPojoAgeView").
marshal().jacksonxml(TestPojoView.class, Views.Age.class);
</pre>
-</div></div><p>And the same in XML DSL:</p><div class="code panel pdl
conf-macro output-block" data-hasbody="true" data-macro-name="code"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>And the same in XML DSL:</p><div class="code panel pdl
conf-macro output-block" style="border-width: 1px;" data-hasbody="true"
data-macro-name="code"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: xml;
gutter: false; theme: Default" data-theme="Default"><from
uri="direct:inPojoAgeView"/>
<marshal>
<jacksonxml
unmarshalTypeName="org.apache.camel.component.jacksonxml.TestPojoView"
jsonView="org.apache.camel.component.jacksonxml.Views$Age"/>
</marshal>
</pre>
-</div></div><h3 id="JacksonXML-Settingserializationincludeoption">Setting
serialization include option</h3><p>If you want to marshal a pojo to XML, and
the pojo has some fields with null values. And you want to skip these null
values, then you need to set either an annotation on the pojo, </p><div
class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+</div></div><h3 id="JacksonXML-Settingserializationincludeoption">Setting
serialization include option</h3><p>If you want to marshal a pojo to XML, and
the pojo has some fields with null values. And you want to skip these null
values, then you need to set either an annotation on the pojo, </p><div
class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default"
data-theme="Default">@JsonInclude(Include.NON_NULL)
public class MyPojo {
...
}</pre>
-</div></div><p>But this requires you to include that annotation in your pojo
source code. You can also configure the Camel JacksonXMLDataFormat to set the
include option, as shown below:</p><div class="code panel pdl conf-macro
output-block" data-hasbody="true" data-macro-name="code" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+</div></div><p>But this requires you to include that annotation in your pojo
source code. You can also configure the Camel JacksonXMLDataFormat to set the
include option, as shown below:</p><div class="code panel pdl conf-macro
output-block" style="border-width: 1px;" data-hasbody="true"
data-macro-name="code"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">JacksonXMLDataFormat format
= new JacksonXMLDataFormat();
format.setInclude("NON_NULL");</pre>
-</div></div><p>Or from XML DSL you configure this as</p><div class="code panel
pdl conf-macro output-block" data-hasbody="true" data-macro-name="code"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Or from XML DSL you configure this as</p><div class="code panel
pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true"
data-macro-name="code"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default"> <dataFormats>
<jacksonxml id="jacksonxml" include="NOT_NULL"/>
</dataFormats></pre>
-</div></div><h3
id="JacksonXML-UnmarshallingfromXMLtoPOJOwithdynamicclassname">Unmarshalling
from XML to POJO with dynamic class name</h3><p>If you use jackson to unmarshal
XML to POJO, then you can now specify a header in the message that indicate
which class name to unmarshal to.<br clear="none"><span>The header has
key </span><code>CamelJacksonUnmarshalType</code><span> if that
header is present in the message, then Jackson will use that as FQN for the
POJO class to unmarshal the XML payload
as.</span></p><p><span> </span><span>For JMS end users there is the
JMSType header from the JMS spec that indicates that also. To enable support
for JMSType you would need to turn that on, on the jackson data format as
shown:</span></p><div class="code panel pdl conf-macro output-block"
data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+</div></div><h3
id="JacksonXML-UnmarshallingfromXMLtoPOJOwithdynamicclassname">Unmarshalling
from XML to POJO with dynamic class name</h3><p>If you use jackson to unmarshal
XML to POJO, then you can now specify a header in the message that indicate
which class name to unmarshal to.<br clear="none"><span>The header has
key </span><code>CamelJacksonUnmarshalType</code><span> if that
header is present in the message, then Jackson will use that as FQN for the
POJO class to unmarshal the XML payload
as.</span></p><p><span> </span><span>For JMS end users there is the
JMSType header from the JMS spec that indicates that also. To enable support
for JMSType you would need to turn that on, on the jackson data format as
shown:</span></p><div class="code panel pdl conf-macro output-block"
style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div
class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">JacksonDataFormat format =
new JacksonDataFormat();
format.setAllowJmsType(true);</pre>
-</div></div><p>Or from XML DSL you configure this as</p><div class="code panel
pdl conf-macro output-block" data-hasbody="true" data-macro-name="code"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Or from XML DSL you configure this as</p><div class="code panel
pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true"
data-macro-name="code"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default"> <dataFormats>
<jacksonxml id="jacksonxml" allowJmsType="true"/>
</dataFormats></pre>
-</div></div><h3
id="JacksonXML-UnmarshallingfromXMLtoList<Map>orList<pojo>">Unmarshalling
from XML to List<Map> or List<pojo></h3><p>If you are using
Jackson to unmarshal XML to a list of map/pojo, you can now specify this by
setting <code>useList="true"</code> or use
the <code>org.apache.camel.component.jacksonxml.ListJacksonXMLDataFormat</code>.
For example with Java you can do as shown below:</p><div class="code panel pdl
conf-macro output-block" data-hasbody="true" data-macro-name="code"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3
id="JacksonXML-UnmarshallingfromXMLtoList<Map>orList<pojo>">Unmarshalling
from XML to List<Map> or List<pojo></h3><p>If you are using
Jackson to unmarshal XML to a list of map/pojo, you can now specify this by
setting <code>useList="true"</code> or use
the <code>org.apache.camel.component.jacksonxml.ListJacksonXMLDataFormat</code>.
For example with Java you can do as shown below:</p><div class="code panel pdl
conf-macro output-block" style="border-width: 1px;" data-hasbody="true"
data-macro-name="code"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">JacksonXMLDataFormat format
= new ListJacksonXMLDataFormat();
// or
JacksonXMLDataFormat format = new JacksonXMLDataFormat();
format.useList();
// and you can specify the pojo class type also
format.setUnmarshalType(MyPojo.class);</pre>
-</div></div><p>And if you use XML DSL then you configure to use list
using <code>useList</code> attribute as shown below:</p><div
class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+</div></div><p>And if you use XML DSL then you configure to use list
using <code>useList</code> attribute as shown below:</p><div
class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default"> <dataFormats>
<jacksonxml id="jack" useList="true"/>
</dataFormats></pre>
-</div></div><p>And you can specify the pojo type also</p><div class="code
panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>And you can specify the pojo type also</p><div class="code
panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default"> <dataFormats>
<jacksonxml id="jack" useList="true"
unmarshalTypeName="com.foo.MyPojo"/>
</dataFormats></pre>
-</div></div><h3 id="JacksonXML-UsingcustomJacksonmodules">Using custom Jackson
modules</h3><p>You can use custom Jackson modules by specifying the class names
of those using the moduleClassNames option as shown below.</p><div class="code
panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="JacksonXML-UsingcustomJacksonmodules">Using custom Jackson
modules</h3><p>You can use custom Jackson modules by specifying the class names
of those using the moduleClassNames option as shown below.</p><div class="code
panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default"> <dataFormats>
<jacksonxml id="jack" useList="true"
unmarshalTypeName="com.foo.MyPojo"
moduleClassNames="com.foo.MyModule,com.foo.MyOtherModule"/>
</dataFormats></pre>
-</div></div><p>When using moduleClassNames then the custom jackson
modules are not configured, by created using default constructor and used
as-is. If a custom module needs any custom configuration, then an instance of
the module can be created and configured, and then use modulesRefs to refer to
the module as shown below:</p><div class="code panel pdl conf-macro
output-block" data-hasbody="true" data-macro-name="code" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+</div></div><p>When using moduleClassNames then the custom jackson
modules are not configured, by created using default constructor and used
as-is. If a custom module needs any custom configuration, then an instance of
the module can be created and configured, and then use modulesRefs to refer to
the module as shown below:</p><div class="code panel pdl conf-macro
output-block" style="border-width: 1px;" data-hasbody="true"
data-macro-name="code"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default"> <bean
id="myJacksonModule" class="com.foo.MyModule">
... // configure the module as you want
</bean>
@@ -190,28 +190,28 @@ format.setUnmarshalType(MyPojo.class);</
<dataFormats>
<jacksonxml id="jacksonxml" useList="true"
unmarshalTypeName="com.foo.MyPojo" moduleRefs="myJacksonModule"/>
</dataFormats></pre>
-</div></div><p> Multiple modules can be specified separated by comma,
such as moduleRefs="myJacksonModule,myOtherModule"</p><h3
id="JacksonXML-EnablingordisablefeaturesusingJackson">Enabling or disable
features using Jackson</h3><p>Jackson has a number of features you can enable
or disable, which its ObjectMapper uses. For example to disable failing on
unknown properties when marshalling, you can configure this using the
disableFeatures:</p><div class="code panel pdl conf-macro output-block"
data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+</div></div><p> Multiple modules can be specified separated by comma,
such as moduleRefs="myJacksonModule,myOtherModule"</p><h3
id="JacksonXML-EnablingordisablefeaturesusingJackson">Enabling or disable
features using Jackson</h3><p>Jackson has a number of features you can enable
or disable, which its ObjectMapper uses. For example to disable failing on
unknown properties when marshalling, you can configure this using the
disableFeatures:</p><div class="code panel pdl conf-macro output-block"
style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div
class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default"> <dataFormats>
<jacksonxml id="jacksonxml" unmarshalTypeName="com.foo.MyPojo"
disableFeatures="FAIL_ON_UNKNOWN_PROPERTIES"/>
</dataFormats></pre>
-</div></div><p>You can disable multiple features by separating the values
using comma. The values for the features must be the name of the enums from
Jackson from the following enum
classes</p><ul><li>com.fasterxml.jackson.databind.SerializationFeature</li><li>com.fasterxml.jackson.databind.DeserializationFeature</li><li>com.fasterxml.jackson.databind.MapperFeature</li></ul><p>To
enable a feature use the enableFeatures options instead.</p><p>From Java code
you can use the type safe methods from camel-jackson module:</p><div
class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+</div></div><p>You can disable multiple features by separating the values
using comma. The values for the features must be the name of the enums from
Jackson from the following enum
classes</p><ul><li>com.fasterxml.jackson.databind.SerializationFeature</li><li>com.fasterxml.jackson.databind.DeserializationFeature</li><li>com.fasterxml.jackson.databind.MapperFeature</li></ul><p>To
enable a feature use the enableFeatures options instead.</p><p>From Java code
you can use the type safe methods from camel-jackson module:</p><div
class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">JacksonDataFormat df = new
JacksonDataFormat(MyPojo.class);
df.disableFeature(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
df.disableFeature(DeserializationFeature.FAIL_ON_NULL_FOR_PRIMITIVES);</pre>
-</div></div><h3 id="JacksonXML-ConvertingMapstoPOJOusingJackson">Converting
Maps to POJO using
Jackson</h3><p>Jackson <code>ObjectMapper</code> can be used to
convert maps to POJO objects. Jackson component comes with the data converter
that can be used to convert <code>java.util.Map</code> instance to
non-String, non-primitive and non-Number objects.</p><div class="code panel pdl
conf-macro output-block" data-hasbody="true" data-macro-name="code"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="JacksonXML-ConvertingMapstoPOJOusingJackson">Converting
Maps to POJO using
Jackson</h3><p>Jackson <code>ObjectMapper</code> can be used to
convert maps to POJO objects. Jackson component comes with the data converter
that can be used to convert <code>java.util.Map</code> instance to
non-String, non-primitive and non-Number objects.</p><div class="code panel pdl
conf-macro output-block" style="border-width: 1px;" data-hasbody="true"
data-macro-name="code"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">Map<String, Object>
invoiceData = new HashMap<String, Object>();
invoiceData.put("netValue", 500);
producerTemplate.sendBody("direct:mapToInvoice", invoiceData);
...
// Later in the processor
Invoice invoice = exchange.getIn().getBody(Invoice.class);</pre>
-</div></div><p>If there is a
single <code>ObjectMapper</code> instance available in the Camel
registry, it will used by the converter to perform the conversion. Otherwise
the default mapper will be used.  </p><h3
id="JacksonXML-FormattedXMLmarshalling(pretty-printing)">Formatted XML
marshalling (pretty-printing)</h3><p>Using
the <code>prettyPrint</code> option one can output a well
formatted XML while marshalling:</p><div class="code panel pdl conf-macro
output-block" data-hasbody="true" data-macro-name="code" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+</div></div><p>If there is a
single <code>ObjectMapper</code> instance available in the Camel
registry, it will used by the converter to perform the conversion. Otherwise
the default mapper will be used.  </p><h3
id="JacksonXML-FormattedXMLmarshalling(pretty-printing)">Formatted XML
marshalling (pretty-printing)</h3><p>Using
the <code>prettyPrint</code> option one can output a well
formatted XML while marshalling:</p><div class="code panel pdl conf-macro
output-block" style="border-width: 1px;" data-hasbody="true"
data-macro-name="code"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default"> <dataFormats>
<jacksonxml id="jack" prettyPrint="true"/>
</dataFormats></pre>
-</div></div><p><span>And in Java DSL:</span></p><div class="code panel pdl
conf-macro output-block" data-hasbody="true" data-macro-name="code"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p><span>And in Java DSL:</span></p><div class="code panel pdl
conf-macro output-block" style="border-width: 1px;" data-hasbody="true"
data-macro-name="code"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default"
data-theme="Default">from("direct:inPretty").marshal().jacksonxml(true);</pre>
-</div></div><p><span>Please note that there are 5 different
overloaded <code>jacksonxml()</code> DSL methods which support
the <code>prettyPrint</code> option in combination with other
settings
for <code>unmarshalType</code>, <code>jsonView</code> etc. </span></p><h3
id="JacksonXML-Dependencies">Dependencies</h3><p>To use Jackson XML in your
camel routes you need to add the dependency on
<strong>camel-jacksonxml</strong> which implements this data format.</p><p>If
you use maven you could just add the following to your pom.xml, substituting
the version number for the latest & greatest release (see <a shape="rect"
href="download.html">the download page for the latest versions</a>).</p><div
class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+</div></div><p><span>Please note that there are 5 different
overloaded <code>jacksonxml()</code> DSL methods which support
the <code>prettyPrint</code> option in combination with other
settings
for <code>unmarshalType</code>, <code>jsonView</code> etc. </span></p><h3
id="JacksonXML-Dependencies">Dependencies</h3><p>To use Jackson XML in your
camel routes you need to add the dependency on
<strong>camel-jacksonxml</strong> which implements this data format.</p><p>If
you use maven you could just add the following to your pom.xml, substituting
the version number for the latest & greatest release (see <a shape="rect"
href="download.html">the download page for the latest versions</a>).</p><div
class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default"><dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jacksonxml</artifactId>
Modified: websites/production/camel/content/jing.html
==============================================================================
--- websites/production/camel/content/jing.html (original)
+++ websites/production/camel/content/jing.html Tue Mar 26 22:22:28 2019
@@ -89,7 +89,7 @@
<tbody>
<tr>
<td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="Jing-JingComponent">Jing
Component</h2><p>The Jing component uses the <a shape="rect"
class="external-link" href="http://www.thaiopensource.com/relaxng/jing.html"
rel="nofollow">Jing Library</a> to perform XML validation of the message body
using either</p><ul><li><a shape="rect" class="external-link"
href="http://relaxng.org/" rel="nofollow">RelaxNG XML Syntax</a></li><li><a
shape="rect" class="external-link"
href="http://relaxng.org/compact-tutorial-20030326.html" rel="nofollow">RelaxNG
Compact Syntax</a></li></ul><p>Maven users will need to add the following
dependency to their <code>pom.xml</code> for this component:</p><div
class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="wiki-content maincontent"><h2 id="Jing-JingComponent">Jing
Component</h2><p>The Jing component uses the <a shape="rect"
class="external-link" href="http://www.thaiopensource.com/relaxng/jing.html"
rel="nofollow">Jing Library</a> to perform XML validation of the message body
using either</p><ul><li><a shape="rect" class="external-link"
href="http://relaxng.org/" rel="nofollow">RelaxNG XML Syntax</a></li><li><a
shape="rect" class="external-link"
href="http://relaxng.org/compact-tutorial-20030326.html" rel="nofollow">RelaxNG
Compact Syntax</a></li></ul><p>Maven users will need to add the following
dependency to their <code>pom.xml</code> for this component:</p><div
class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default"><dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jing</artifactId>
@@ -97,10 +97,10 @@
<!-- use the same version as your Camel core version -->
</dependency>
</pre>
-</div></div><p>Note that the <a shape="rect" href="msv.html">MSV</a> component
can also support RelaxNG XML syntax.</p><h3
id="Jing-URIformatCamel2.15orolder">URI format Camel 2.15 or older</h3><div
class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+</div></div><p>Note that the <a shape="rect" href="msv.html">MSV</a> component
can also support RelaxNG XML syntax.</p><h3
id="Jing-URIformatCamel2.15orolder">URI format Camel 2.15 or older</h3><div
class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default"
data-theme="Default">rng:someLocalOrRemoteResource
rnc:someLocalOrRemoteResource</pre>
-</div></div><p>Where <strong>rng</strong> means use the <a shape="rect"
class="external-link" href="http://relaxng.org/" rel="nofollow">RelaxNG XML
Syntax</a> whereas <strong>rnc</strong> means use <a shape="rect"
class="external-link" href="http://relaxng.org/compact-tutorial-20030326.html"
rel="nofollow">RelaxNG Compact Syntax</a>. The following examples show possible
URI values</p><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Example</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>rng:foo/bar.rng</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>References the XML file
<strong>foo/bar.rng</strong> on the classpath</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>rnc:</p><a shape="rect"
class="external-link" href="http://foo.com/bar.rnc"
rel="nofollow">http://foo.com/bar.rnc</a></td><td co
lspan="1" rowspan="1" class="confluenceTd"><p>References the RelaxNG Compact
Syntax file from the URL,</p><a shape="rect" class="external-link"
href="http://foo.com/bar.rnc"
rel="nofollow">http://foo.com/bar.rnc</a></td></tr></tbody></table></div><p>You
can append query options to the URI in the following format,
<code>?option=value&option=value&...</code></p><h3
id="Jing-URIformatCamel2.16">URI format Camel 2.16</h3><div class="code panel
pdl conf-macro output-block" data-hasbody="true" data-macro-name="code"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Where <strong>rng</strong> means use the <a shape="rect"
class="external-link" href="http://relaxng.org/" rel="nofollow">RelaxNG XML
Syntax</a> whereas <strong>rnc</strong> means use <a shape="rect"
class="external-link" href="http://relaxng.org/compact-tutorial-20030326.html"
rel="nofollow">RelaxNG Compact Syntax</a>. The following examples show possible
URI values</p><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Example</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>rng:foo/bar.rng</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>References the XML file
<strong>foo/bar.rng</strong> on the classpath</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>rnc:</p><a shape="rect"
class="external-link" href="http://foo.com/bar.rnc"
rel="nofollow">http://foo.com/bar.rnc</a></td><td co
lspan="1" rowspan="1" class="confluenceTd"><p>References the RelaxNG Compact
Syntax file from the URL,</p><a shape="rect" class="external-link"
href="http://foo.com/bar.rnc"
rel="nofollow">http://foo.com/bar.rnc</a></td></tr></tbody></table></div><p>You
can append query options to the URI in the following format,
<code>?option=value&option=value&...</code></p><h3
id="Jing-URIformatCamel2.16">URI format Camel 2.16</h3><div class="code panel
pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true"
data-macro-name="code"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default"
data-theme="Default">jing:someLocalOrRemoteResource</pre>
</div></div><p>From Camel 2.16 the component use jing as name, and you can use
the option compactSyntax to turn on either RNG or RNC mode.</p><h3
id="Jing-Options">Options</h3><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>compactSyntax</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Whether to validate using RelaxNG compact
syntax or not.</p></td></tr></tbody></table></div><h3
id="Jing-Example">Example</h3><p>The following <a shape="rect"
class="external-link"
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-jing/src/test/resources/org/apache/camel/component/validator/jing/rnc-context.xml">exa
mple</a> shows how to configure a route from the endpoint
<strong>direct:start</strong> which then goes to one of two endpoints, either
<strong>mock:valid</strong> or <strong>mock:invalid</strong> based on whether
or not the XML matches the given <a shape="rect" class="external-link"
href="http://relaxng.org/compact-tutorial-20030326.html" rel="nofollow">RelaxNG
Compact Syntax</a> schema (which is supplied on the classpath).</p>Error
rendering macro 'code': Invalid value specified for parameter
'java.lang.NullPointerException'<pre class="conf-macro output-inline"
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
<camelContext xmlns="http://camel.apache.org/schema/spring">
Modified: websites/production/camel/content/language.html
==============================================================================
--- websites/production/camel/content/language.html (original)
+++ websites/production/camel/content/language.html Tue Mar 26 22:22:28 2019
@@ -89,10 +89,10 @@
<tbody>
<tr>
<td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2
id="Language-Language">Language</h2><p><strong>Available as of Camel
2.5</strong></p><p>The language component allows you to send <a shape="rect"
href="exchange.html">Exchange</a> to an endpoint which executes a script by any
of the supported <a shape="rect" href="languages.html">Languages</a> in
Camel.<br clear="none"> By having a component to execute language scripts, it
allows more dynamic routing capabilities. For example by using the <a
shape="rect" href="routing-slip.html">Routing Slip</a> or <a shape="rect"
href="dynamic-router.html">Dynamic Router</a> EIPs you can send messages to
<code>language</code> endpoints where the script is dynamic defined as
well.</p><p>This component is provided out of the box in
<code>camel-core</code> and hence no additional JARs is needed. You only have
to include additional Camel components if the language of choice mandates it,
such as using <a shape="rect" href="groovy.html">Groovy</a> or <a shape="re
ct" href="javascript.html">JavaScript</a> languages.</p><h3
id="Language-URIformat">URI format</h3><div class="code panel pdl conf-macro
output-block" data-hasbody="true" data-macro-name="code" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h2
id="Language-Language">Language</h2><p><strong>Available as of Camel
2.5</strong></p><p>The language component allows you to send <a shape="rect"
href="exchange.html">Exchange</a> to an endpoint which executes a script by any
of the supported <a shape="rect" href="languages.html">Languages</a> in
Camel.<br clear="none"> By having a component to execute language scripts, it
allows more dynamic routing capabilities. For example by using the <a
shape="rect" href="routing-slip.html">Routing Slip</a> or <a shape="rect"
href="dynamic-router.html">Dynamic Router</a> EIPs you can send messages to
<code>language</code> endpoints where the script is dynamic defined as
well.</p><p>This component is provided out of the box in
<code>camel-core</code> and hence no additional JARs is needed. You only have
to include additional Camel components if the language of choice mandates it,
such as using <a shape="rect" href="groovy.html">Groovy</a> or <a shape="re
ct" href="javascript.html">JavaScript</a> languages.</p><h3
id="Language-URIformat">URI format</h3><div class="code panel pdl conf-macro
output-block" style="border-width: 1px;" data-hasbody="true"
data-macro-name="code"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default"
data-theme="Default">language://languageName[:script][?options]
</pre>
-</div></div><p>And from Camel 2.11 onwards you can refer to an external
resource for the script using same notation as supported by the other <a
shape="rect" href="language.html">Language</a>s in Camel</p><div class="code
panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>And from Camel 2.11 onwards you can refer to an external
resource for the script using same notation as supported by the other <a
shape="rect" href="language.html">Language</a>s in Camel</p><div class="code
panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default"
data-theme="Default">language://languageName:resource:scheme:location][?options]
</pre>
</div></div><h3 id="Language-URIOptions">URI Options</h3><p>The component
supports the following options.</p><div class="confluenceTableSmall conf-macro
output-block" data-hasbody="true" data-macro-name="div"><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>languageName</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The name of the <a shape="rect"
href="languages.html">Language</a> to use, such as <code>simple</code>,
<code>groovy</code>, <code>javascript
</code> etc. This option is mandatory.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>script</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The script to execute.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>transform</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Whether or not the result of
the script should be used as the new message body. By setting to
<code>false</code> the script is executed but the result of the script is
discarded.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>contentCache</code></p></td><td colspan="1"
rowspan="1" class="
confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> Whether to
cache the script if loaded from a resource.<br clear="none"> Note: from
<strong>Camel 2.10.3</strong> a cached script can be forced to reload at
runtime via JMX using the clearContentCache operation.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>cacheScript</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel
2.13/2.12.2/2.11.3:</strong> Whether to cache the compiled script. Turning this
option on can gain performance as the script is only compiled/created once, and
reuse when processing Camel messages. But this may cause side-effects with data
left from prev
ious evaluation spills into the next, and concurrency issues as well. If the
script being evaluated is idempotent then this option can be turned
on.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>binary</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><strong>Camel 2.14.1:</strong> Whether the
script is binary content. This is intended to be used for loading resources
using the Constant language, such as loading binary
files.</p></td></tr></tbody></table></div></div>
@@ -104,7 +104,7 @@
<h3 id="Language-Examples">Examples</h3><p>For example you can use the <a
shape="rect" href="simple.html">Simple</a> language to <a shape="rect"
href="message-translator.html">Message Translator</a> a message:</p><div
class="error conf-macro output-inline" data-hasbody="true"
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20,
Size: 20</span> </div>In case you want to convert the message body type you can
do this as well:<div class="error conf-macro output-inline" data-hasbody="true"
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20,
Size: 20</span> </div>You can also use the <a shape="rect"
href="groovy.html">Groovy</a> language, such as this example where the input
message will by multiplied with 2:Error rendering macro 'code': Invalid value
specified for parameter 'java.lang.NullPointerEx
ception'<pre class="conf-macro output-inline" data-hasbody="true"
data-macro-name="unmigrated-inline-wiki-markup">
String script = URLEncoder.encode("request.body * 2", "UTF-8");
from("direct:start").to("language:groovy:" + script).to("mock:result");
-</pre>You can also provide the script as a header as shown below. Here we use
<a shape="rect" href="xpath.html">XPath</a> language to extract the text from
the <code><foo></code> tag.<div class="code panel pdl conf-macro
output-block" data-hasbody="true" data-macro-name="code" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+</pre>You can also provide the script as a header as shown below. Here we use
<a shape="rect" href="xpath.html">XPath</a> language to extract the text from
the <code><foo></code> tag.<div class="code panel pdl conf-macro
output-block" style="border-width: 1px;" data-hasbody="true"
data-macro-name="code"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">Object out =
producer.requestBodyAndHeader("language:xpath", "<foo>Hello
World</foo>", Exchange.LANGUAGE_SCRIPT, "/foo/text()");
assertEquals("Hello World", out);
</pre>
Modified: websites/production/camel/content/loadbalancing-mina-example.html
==============================================================================
--- websites/production/camel/content/loadbalancing-mina-example.html (original)
+++ websites/production/camel/content/loadbalancing-mina-example.html Tue Mar
26 22:22:28 2019
@@ -194,28 +194,28 @@ Error rendering macro 'code': Invalid va
<h3 id="LoadBalancingMinaExample-Howtoruntheexample">How to run the
example</h3>
<p>To compile and install the project in your maven repo, execute the
following command on the root of the project:</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
mvn clean install
</pre>
</div></div>
<p>To run the example, then execute the following command in the respective
folder:</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
>mina1
mvn exec:java -Pmina1
</pre>
</div></div>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
>mina2
mvn exec:java -Pmina2
</pre>
</div></div>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
>loadbalancing
mvn exec:java -Ploadbalancer
Modified: websites/production/camel/content/msv.html
==============================================================================
--- websites/production/camel/content/msv.html (original)
+++ websites/production/camel/content/msv.html Tue Mar 26 22:22:28 2019
@@ -94,7 +94,7 @@
<p>The MSV component performs XML validation of the message body using the <a
shape="rect" class="external-link" href="https://msv.dev.java.net/"
rel="nofollow">MSV Library</a> and any of the supported XML schema languages,
such as <a shape="rect" class="external-link"
href="http://www.w3.org/XML/Schema" rel="nofollow">XML Schema</a> or <a
shape="rect" class="external-link" href="http://relaxng.org/"
rel="nofollow">RelaxNG XML Syntax</a>. </p>
<p>Maven users will need to add the following dependency to their
<code>pom.xml</code> for this component:</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
<dependency>
<groupId>org.apache.camel</groupId>
@@ -109,7 +109,7 @@
<h3 id="MSV-URIformat">URI format</h3>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
msv:someLocalOrRemoteResource[?options]
</pre>
@@ -117,7 +117,7 @@ msv:someLocalOrRemoteResource[?options]
<p>Where <strong>someLocalOrRemoteResource</strong> is some URL to a local
resource on the classpath or a full URL to a remote resource or resource on the
file system. For example</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
msv:org/foo/bar.rng
msv:file:../foo/bar.rng
Modified: websites/production/camel/content/predicate.html
==============================================================================
--- websites/production/camel/content/predicate.html (original)
+++ websites/production/camel/content/predicate.html Tue Mar 26 22:22:28 2019
@@ -96,7 +96,7 @@
<p>A Predicate is being evaluated to a boolean value so the result is either
<code>true</code> or <code>false</code>. This makes <a shape="rect"
href="predicate.html">Predicate</a> so powerful as it is often used to control
the routing of message in which path they should be routed.</p>
<p>A simple example is to route an <a shape="rect"
href="exchange.html">Exchange</a> based on a header value:</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
from("jms:queue:order")
.choice()
@@ -111,13 +111,13 @@ from("jms:queue:order")
<p>In the route above the <a shape="rect" href="predicate.html">Predicate</a>
is the <code>header("type").isEqualTo("widget")</code> as its constructed as an
<a shape="rect" href="expression.html">Expression</a> that is evaluated as a <a
shape="rect" href="predicate.html">Predicate</a>. To do this the various
Builder classes helps us here to create a nice and fluent syntax.
<code>isEqualTo</code> is a builder method that returns a <a shape="rect"
href="predicate.html">Predicate</a> based on the input.</p>
<p>Sometimes the fluent builders can get long and a bit complex to read, then
you can just define your predicate outside the route and then just refer to the
predicate in the route:</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
Predicate isWidget = header("type").isEqualTo("widget");
</pre>
</div></div>
<p>And then you can refer to it in the route as:</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
from("jms:queue:order")
.choice()
@@ -133,7 +133,7 @@ from("jms:queue:order")
<p>You can use the <strong>not</strong> method on the
<code>PredicateBuilder</code> to negate a predicate.</p>
<p>First we import the not static, so it makes our route nice and easy to
read:</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
import static org.apache.camel.builder.PredicateBuilder.not
</pre>
@@ -158,7 +158,7 @@ import static org.apache.camel.builder.P
<p>Combining different Expression Languages is also possible, e.g.:</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent
pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
PredicateBuilder.and(XPathBuilder.xpath("/bookings/flights"),
simple("${property.country = 'Spain'}"))
</pre>
Modified: websites/production/camel/content/processorfactory.html
==============================================================================
--- websites/production/camel/content/processorfactory.html (original)
+++ websites/production/camel/content/processorfactory.html Tue Mar 26 22:22:28
2019
@@ -115,7 +115,7 @@ Also the <a shape="rect" href="splitter.
<h4 id="ProcessorFactory-JavaDSL">Java DSL</h4>
<p>In Java DSL all you need to do is to configure the custom factory on the <a
shape="rect" href="camelcontext.html">CamelContext</a> using the
<code>setProcessorFactory</code> method:</p>
-<div class="code panel pdl conf-macro output-block" data-hasbody="true"
data-macro-name="code" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width: 1px;"><b>Configuring
ProcessorFactory in Java</b></div><div class="codeContent panelContent pdl">
+<div class="code panel pdl conf-macro output-block" style="border-width: 1px;"
data-hasbody="true" data-macro-name="code"><div class="codeHeader panelHeader
pdl" style="border-bottom-width: 1px;"><b>Configuring ProcessorFactory in
Java</b></div><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java;
gutter: false; theme: Default" data-theme="Default">
CamelContext context ...
context.setProcessorFactory(new MyFactory());