Author: buildbot
Date: Wed Aug 19 10:19:58 2015
New Revision: 962314
Log:
Production update by buildbot for camel
Modified:
websites/production/camel/content/book-component-appendix.html
websites/production/camel/content/book-in-one-page.html
websites/production/camel/content/cache/main.pageCache
websites/production/camel/content/jcr.html
Modified: websites/production/camel/content/book-component-appendix.html
==============================================================================
--- websites/production/camel/content/book-component-appendix.html (original)
+++ websites/production/camel/content/book-component-appendix.html Wed Aug 19
10:19:58 2015
@@ -948,7 +948,7 @@ commetdComponent.setSslContextParameters
password="keystorePassword"/>
</camel:keyManagers>
</camel:sslContextParameters>...
-?
+Â
<bean id="cometd"
class="org.apache.camel.component.cometd.CometdComponent">
<property name="sslContextParameters"
ref="sslContextParameters"/>
</bean>
@@ -1219,11 +1219,11 @@ template.send("direct:alias-verify&
]]></script>
</div></div><p></p><h3 id="BookComponentAppendix-SeeAlso.8">See Also</h3>
<ul><li><a shape="rect" href="configuring-camel.html">Configuring
Camel</a></li><li><a shape="rect"
href="component.html">Component</a></li><li><a shape="rect"
href="endpoint.html">Endpoint</a></li><li><a shape="rect"
href="getting-started.html">Getting Started</a></li></ul><ul><li><a
shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a
shape="rect" href="data-format.html">Data Format</a></li></ul> <h2
id="BookComponentAppendix-CXFComponent">CXF Component</h2><div
class="confluence-information-macro confluence-information-macro-note"><span
class="aui-icon aui-icon-small aui-iconfont-warning
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>When using CXF as a consumer, the
<a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows
you to factor out how message payloads are received from their processing as a
RESTful or SOAP web service. This has the potential of using a multitude of
transports to cons
ume web services. The bean component's configuration is also simpler and
provides the fastest method to implement web services using Camel and
CXF.</p></div></div><div class="confluence-information-macro
confluence-information-macro-tip"><span class="aui-icon aui-icon-small
aui-iconfont-approve confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>When using CXF in streaming modes
(see DataFormat option), then also read about <a shape="rect"
href="stream-caching.html">Stream caching</a>.</p></div></div><p>The
<strong>cxf:</strong> component provides integration with <a shape="rect"
href="http://cxf.apache.org">Apache CXF</a> for connecting to JAX-WS services
hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1439464655875 {padding: 0px;}
-div.rbtoc1439464655875 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1439464655875 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1439979470988 {padding: 0px;}
+div.rbtoc1439979470988 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1439979470988 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1439464655875">
+/*]]>*/</style></p><div class="toc-macro rbtoc1439979470988">
<ul class="toc-indentation"><li><a shape="rect"
href="#BookComponentAppendix-CXFComponent">CXF Component</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#BookComponentAppendix-URIformat">URI format</a></li><li><a shape="rect"
href="#BookComponentAppendix-Options">Options</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#BookComponentAppendix-Thedescriptionsofthedataformats">The descriptions
of the dataformats</a>
@@ -4242,7 +4242,7 @@ public class PatientLookupService {
]]></script>
</div></div><p><strong>sync=true</strong> indicates that this listener is
synchronous and therefore will return a HL7 response to the caller. The HL7
codec is setup with <strong>encoder=#hl7encoder </strong>and<strong>
decoder=#hl7decoder</strong>. Note that <code>hl7encoder</code> and
<code>hl7decoder</code> are just bean IDs, so they could be named differently.
The beans can be set in the Spring XML file:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[ <bean id="hl7decoder"
class="org.apache.camel.component.hl7.HL7MLLPNettyDecoderFactory"/>
-? <bean id="hl7encoder"
class="org.apache.camel.component.hl7.HL7MLLPNettyEncoderFactory"/>]]></script>
+Â <bean id="hl7encoder"
class="org.apache.camel.component.hl7.HL7MLLPNettyEncoderFactory"/>]]></script>
</div></div><p>The endpoint <strong>hl7NettyListener</strong> can then be used
in a route as a consumer, as this Java DSL example illustrates:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
from("hl7NettyListener").beanRef("patientLookupService");
]]></script>
@@ -4303,7 +4303,7 @@ String patientId = msg.getQRD().getWhoSu
.setHeader("PATIENT_ID",terser("QRD-8(0)-1"))
.to("mock:test1");
- ?// continue processing if extracted field equals a message header
+ Â // continue processing if extracted field equals a message header
from("direct:test2")
.filter(terser("QRD-8(0)-1").isEqualTo(header("PATIENT_ID"))
.to("mock:test2");
@@ -4576,9 +4576,9 @@ ProtocolSocketFactory factory =
Protocol.registerProtocol("https",
new Protocol(
-??????? "https",
-??????? factory,
-??????? 443));
+Â Â Â Â Â Â Â "https",
+Â Â Â Â Â Â Â factory,
+Â Â Â Â Â Â Â 443));
from("direct:start")
.to("https://mail.google.com/mail/").to("mock:results");
@@ -5208,7 +5208,7 @@ We store big input streams (by default,
</div></div><h3 id="BookComponentAppendix-URIformat.31">URI format</h3><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[jcr://user:password@repository/path/to/node
]]></script>
-</div></div><div class="confluence-information-macro
confluence-information-macro-tip"><p class="title">Consumer added</p><span
class="aui-icon aui-icon-small aui-iconfont-approve
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>From <strong>Camel 2.10</strong>
onwards you can use consumer as an EventListener in JCR or a producer to read a
node by identifier.</p></div></div><h3
id="BookComponentAppendix-Usage.2">Usage</h3><p>The <code>repository</code>
element of the URI is used to look up the JCR <code>Repository</code> object in
the Camel context registry.</p><h4
id="BookComponentAppendix-Producer.1">Producer</h4><div
class="confluenceTableSmall"><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>Description</p></th></tr><tr><td colspan
="1" rowspan="1"
class="confluenceTd"><p><code>CamelJcrOperation</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>CamelJcrInsert</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>CamelJcrInsert or
CamelJcrGetById operation to use</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>CamelJcrNodeName</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Used to determine the node name to
use.</p></td></tr></tbody></table></div></div><p>When a message is sent to a
JCR producer endpoint:</p><ul><li>If the operation is CamelJcrInsert: A new
node is created in the content repository, all the message headers of the IN
message are transformed to <code><a shape="rect" class="external-link"
href="http://www.day.com/specs/javax.jcr/javadocs/jcr-2.0/javax/jcr/Value.html"
rel="nofollow">javax.jcr.Value</a></code> instances and added to the new
node and the node's UUID is returned in the OUT message.</li><li>If the
operation is CamelJcrGetById: A new node is retrieved from the repository using
the message body as node identifier.</li></ul><div
class="confluence-information-macro confluence-information-macro-note"><span
class="aui-icon aui-icon-small aui-iconfont-warning
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>Please note that the JCR Producer
used message properties instead of message headers in Camel versions earlier
than 2.12.3. See <a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/CAMEL-7067">https://issues.apache.org/jira/browse/CAMEL-7067</a>
for more details.</p></div></div><p> </p><h4
id="BookComponentAppendix-Consumer.1">Consumer</h4><p>The consumer will connect
to JCR periodically and return a List<<a shape="rect" class="external-link"
href="http://www.day.com/specs/javax.jcr/javadocs/jcr-2.0/javax/jcr/observation/Event.htm
l" rel="nofollow">javax.jcr.observation.Event</a>> in the message
body.</p><div class="confluenceTableSmall"><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>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>eventTypes</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>A combination of one or more
event types encoded as a bit mask value such as
javax.jcr.observation.Event.NODE_ADDED,
javax.jcr.observation.Event.NODE_REMOVED, etc.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>deep</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><
p>When it is true, events whose associated parent node is at current path or
within its subgraph are received.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>uuids</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Only events whose associated parent node has one of the
identifiers in the comma separated uuid list will be
received.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>nodeTypeNames</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Only events whose associated parent node
has one of the node types (or a subtype of one of the node types) in this list
will be received.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>noLocal</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>false</code><
/p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If
<code>noLocal</code> is <code>true</code>, then events generated by the session
through which the listener was registered are ignored. Otherwise, they are not
ignored.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>sessionLiveCheckInterval</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>60000</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Interval in milliseconds to
wait before each session live checking.</p></td></tr><tr><td colspan="1"
rowspan="1"
class="confluenceTd"><p><code>sessionLiveCheckIntervalOnStart</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>3000</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Interval in milliseconds to
wait before the first session live checking.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><span style="font-family:
monospace;">username</span></p><
/td><td colspan="1" rowspan="1" class="confluenceTd"><p> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.15:</strong>
Allows to specify the username as a uri parameter instead of in the authority
section of the uri</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><span style="font-family:
monospace;">password</span></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><strong>Camel 2.15:</strong> Allows to specify the
password as a uri parameter instead of in the authority section of the
uri</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span
style="font-family: monospace;">workspaceName</span></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><strong>Camel 2.16:</strong><span> Allows
to specify a workspace different from default</span></p></td></t
r></tbody></table></div></div><h3
id="BookComponentAppendix-Example.2">Example</h3><p>The snippet below creates a
node named <code>node</code> under the <code>/home/test</code> node in the
content repository. One additional property is added to the node as well:
<code>my.contents.property</code> which will contain the body of the message
being sent.</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+</div></div><div class="confluence-information-macro
confluence-information-macro-tip"><p class="title">Consumer added</p><span
class="aui-icon aui-icon-small aui-iconfont-approve
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>From <strong>Camel 2.10</strong>
onwards you can use consumer as an EventListener in JCR or a producer to read a
node by identifier.</p></div></div><h3
id="BookComponentAppendix-Usage.2">Usage</h3><p>The <code>repository</code>
element of the URI is used to look up the JCR <code>Repository</code> object in
the Camel context registry.</p><h4
id="BookComponentAppendix-Producer.1">Producer</h4><div
class="confluenceTableSmall"><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>Description</p></th></tr><tr><td colspan
="1" rowspan="1"
class="confluenceTd"><p><code>CamelJcrOperation</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>CamelJcrInsert</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>CamelJcrInsert or
CamelJcrGetById operation to use</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>CamelJcrNodeName</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Used to determine the node name to
use.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><code>CamelJcrNodeType</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> To use a specify
primary node type when creating adding a new
node.</td></tr></tbody></table></div></div><p>When a message is sent to a JCR
producer endpoint:</p><ul><li>If the operation is CamelJcrIn
sert: A new node is created in the content repository, all the message headers
of the IN message are transformed to <code><a shape="rect"
class="external-link"
href="http://www.day.com/specs/javax.jcr/javadocs/jcr-2.0/javax/jcr/Value.html"
rel="nofollow">javax.jcr.Value</a></code> instances and added to the new node
and the node's UUID is returned in the OUT message.</li><li>If the operation is
CamelJcrGetById: A new node is retrieved from the repository using the message
body as node identifier.</li></ul><div class="confluence-information-macro
confluence-information-macro-note"><span class="aui-icon aui-icon-small
aui-iconfont-warning confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>Please note that the JCR Producer
used message properties instead of message headers in Camel versions earlier
than 2.12.3. See <a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/CAMEL-7067">https://issues.apache.org/jira/browse/
CAMEL-7067</a> for more details.</p></div></div><p> </p><h4
id="BookComponentAppendix-Consumer.1">Consumer</h4><p>The consumer will connect
to JCR periodically and return a List<<a shape="rect" class="external-link"
href="http://www.day.com/specs/javax.jcr/javadocs/jcr-2.0/javax/jcr/observation/Event.html"
rel="nofollow">javax.jcr.observation.Event</a>> in the message
body.</p><div class="confluenceTableSmall"><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>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>eventTypes</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>A combination of one or more
event types encoded as a bit mask value such a
s javax.jcr.observation.Event.NODE_ADDED,
javax.jcr.observation.Event.NODE_REMOVED, etc.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>deep</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>When it is true, events whose associated
parent node is at current path or within its subgraph are
received.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>uuids</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Only events whose associated parent node has one of the
identifiers in the comma separated uuid list will be
received.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>nodeTypeNames</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1"
rowspan="1" class="confluenceT
d"><p>Only events whose associated parent node has one of the node types (or a
subtype of one of the node types) in this list will be
received.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>noLocal</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>If <code>noLocal</code> is
<code>true</code>, then events generated by the session through which the
listener was registered are ignored. Otherwise, they are not
ignored.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>sessionLiveCheckInterval</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>60000</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Interval in milliseconds to
wait before each session live checking.</p></td></tr><tr><td colspan="1"
rowspan="1"
class="confluenceTd"><p><code>sessionLiveCheckIntervalOnStart</code></p></td><td
colspan="1" r
owspan="1" class="confluenceTd"><p><code>3000</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Interval in milliseconds to wait before the
first session live checking.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><span style="font-family:
monospace;">username</span></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><strong>Camel 2.15:</strong> Allows to specify the
username as a uri parameter instead of in the authority section of the
uri</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span
style="font-family: monospace;">password</span></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><strong>Camel 2.15:</strong> Allows to specify the
password as a uri parameter instead of in the authority section of the
uri</p></td></tr><tr><td colspan="1" rowspan="1" class="conflue
nceTd"><p><span style="font-family:
monospace;">workspaceName</span></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><strong>Camel 2.16:</strong><span> Allows to specify a
workspace different from
default</span></p></td></tr></tbody></table></div></div><h3
id="BookComponentAppendix-Example.2">Example</h3><p>The snippet below creates a
node named <code>node</code> under the <code>/home/test</code> node in the
content repository. One additional property is added to the node as well:
<code>my.contents.property</code> which will contain the body of the message
being sent.</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[from("direct:a").setHeader(JcrConstants.JCR_NODE_NAME,
constant("node"))
.setHeader("my.contents.property", body())
.to("jcr://user:pass@repository/home/test");]]></script>
@@ -6135,7 +6135,7 @@ but the following listed types were not
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[public class Jt400RouteBuilder extends
RouteBuilder {
@Override
public void configure() throws Exception {
-
from("direct:work").to("jt400://GRUPO:ATWORK@server/QSYS.LIB/assets.LIB/compute.PGM?fieldsLength=10,10,512&ouputFieldsIdx=2,3").to(?direct:play?);
+
from("direct:work").to("jt400://GRUPO:ATWORK@server/QSYS.LIB/assets.LIB/compute.PGM?fieldsLength=10,10,512&ouputFieldsIdx=2,3").to(âdirect:playâ);
}
}
]]></script>
Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Wed Aug 19 10:19:58
2015
@@ -648,7 +648,7 @@ disruptor-vm:someName[?<option>]
<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[gtask://queue-name[?options]
]]></script>
</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports
asynchronous message processing on Google App Engine by using the <a
shape="rect" class="external-link"
href="http://code.google.com/appengine/docs/java/taskqueue/"
rel="nofollow">task queueing service</a> as message queue. See also <a
shape="rect" href="gae.html">Camel Components for Google App
Engine</a>.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><a shape="rect" href="googlecalendar.html">Google
Calendar</a> / <a shape="rect"
href="googlecalendar.html">camel-google-calendar</a></p><div class="code panel
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[google-calendar://endpoint-prefix/endpoint?[options]?]]></script>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[google-calendar://endpoint-prefix/endpoint?[options]Â
]]></script>
</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports
interaction with <a shape="rect" class="external-link"
href="https://developers.google.com/google-apps/calendar/v3/reference/"
rel="nofollow">Google Calendar's REST API</a>.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><a shape="rect"
href="googledrive.html">Google Drive</a> / <a shape="rect"
href="googledrive.html">camel-google-drive</a></p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[google-drive://endpoint-prefix/endpoint?[options]]]></script>
</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports
interaction with <a shape="rect" class="external-link"
href="https://developers.google.com/drive/v2/reference/" rel="nofollow">Google
Drive's REST API</a>.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><a shape="rect" href="googlemail.html">Google Mail</a>
/ <a shape="rect" href="googlemail.html">camel-google-mail</a></p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
@@ -660,7 +660,7 @@ disruptor-vm:someName[?<option>]
<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[gora:instanceName[?options]
]]></script>
</div></div><p><span><br clear="none"></span></p></td><td colspan="1"
rowspan="1" class="confluenceTd">Supports to work with NoSQL databases using
the <a shape="rect" class="external-link"
href="http://gora.apache.org/">Apache Gora</a> framework.</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect"
href="gora.html">G</a><a shape="rect" href="grape.html">rape</a>/
camel-grape</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
-<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[?grape:defaultMavenCoordinates]]></script>
+<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[Â grape:defaultMavenCoordinates]]></script>
</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><a
shape="rect" class="external-link"
href="http://docs.groovy-lang.org/latest/html/documentation/grape.html"
rel="nofollow">Grape</a> component allows you to fetch, load and manage
additional jars when CamelContext is running.</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><a shape="rect"
href="geocoder.html">Geocoder</a> / camel-geocoder</p><div class="code panel
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[geocoder:<address|latlng:latitude,longitude>[?options]
]]></script>
@@ -680,9 +680,9 @@ disruptor-vm:someName[?<option>]
<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[hdfs://hostName[:port][/path][?options]
]]></script>
</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For
reading/writing from/to an <a shape="rect" class="external-link"
href="http://hadoop.apache.org/hdfs/">HDFS</a> filesystem using Hadoop
1.x</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a
shape="rect" href="hdfs2.html">HDFS2</a> / camel-hdfs2</p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[?hdfs2://hostName[:port][/path][?options]]]></script>
+<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[Â
hdfs2://hostName[:port][/path][?options]]]></script>
</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><span>For
reading/writing from/to an </span><a shape="rect" class="external-link"
href="http://hadoop.apache.org/hdfs/">HDFS</a><span> filesystem using Hadoop
2.x</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a
shape="rect" href="hipchat.html">Hipchat</a> / camel-hipchat</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[?hipchat://[host][:port]?options]]></script>
+<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[Â hipchat://[host][:port]?options]]></script>
</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"> For
sending/receiving messages to <a shape="rect" class="external-link"
href="https://www.hipchat.com" rel="nofollow">Hipchat</a> using v2
API</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a
shape="rect" href="hl7.html">HL7</a> / camel-hl7</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[mina2:tcp://hostName[:port][?options]
]]></script>
@@ -767,7 +767,7 @@ disruptor-vm:someName[?<option>]
<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[lucene:searcherName:<insert|query>[?options]
]]></script>
</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Uses
Apache Lucene to perform Java-based indexing and full text based searches using
advanced analysis/tokenization capabilities</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><a shape="rect"
href="metrics-component.html">Metrics</a> / camel-metrics</p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[?metrics:[meter|counter|histogram|timer]:metricname[?options]]]></script>
+<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[Â
metrics:[meter|counter|histogram|timer]:metricname[?options]]]></script>
</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span
style="line-height: 1.4285715;">Uses </span><a shape="rect"
class="external-link" href="http://metrics.codahale.com/" style="line-height:
1.4285715;" rel="nofollow">Metrics</a><span style="line-height:
1.4285715;"> </span><span style="line-height: 1.4285715;"> to collect
application statistics directly from Camel routes.</span></p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect"
href="mina.html">MINA</a> / camel-mina</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[mina:[tcp|udp|vm]:host[:port][?options]
]]></script>
@@ -937,7 +937,7 @@ disruptor-vm:someName[?<option>]
]]></script>
</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For
working with <a shape="rect" class="external-link"
href="http://docs.splunk.com/Documentation/Splunk"
rel="nofollow">Splunk</a></p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><a shape="rect" href="springbatch.html">SpringBatch</a>
/ camel-spring-batch</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
-<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[?spring-batch://jobName[?options]]]></script>
+<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[Â spring-batch://jobName[?options]]]></script>
</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To bridge
Camel and <a shape="rect" class="external-link"
href="http://www.springsource.org/spring-batch" rel="nofollow">Spring
Batch</a></p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><a shape="rect"
href="springintegration.html">SpringIntegration</a> /
camel-spring-integration</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
<script class="brush: plain; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[spring-integration:defaultChannelName[?options]
]]></script>
@@ -1067,7 +1067,7 @@ disruptor-vm:someName[?<option>]
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[pi4j-i2c://busId/deviceId[?options]
]]></script>
</div></div><p> </p><p> </p></td><td colspan="1" rowspan="1"
class="confluenceTd">Apache</td><td colspan="1" rowspan="1"
class="confluenceTd"><p>i2c Component for
RaspberryPi</p><p> </p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><a shape="rect" class="external-link"
href="https://github.com/camel-labs/camel-labs/tree/master/iot#camel-pubnub-component"
rel="nofollow">PubNub</a> / camel-pubnub in <a shape="rect"
class="external-link"
href="https://github.com/camel-labs/camel-labs/tree/master/iot"
rel="nofollow">Camel IoT Labs</a></p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[?pubnub://pubnubEndpointType:channel[?options]]]></script>
+<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[Â
pubnub://pubnubEndpointType:channel[?options]]]></script>
</div></div></td><td colspan="1" rowspan="1"
class="confluenceTd">Apache</td><td colspan="1" rowspan="1"
class="confluenceTd">Camel <a shape="rect" class="external-link"
href="https://www.pubnub.com/" rel="nofollow">PubNub</a>
component.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a
shape="rect" href="rcode.html">RCode</a> / camel-rcode in <a shape="rect"
class="external-link" href="http://code.google.com/p/camel-extra/"
rel="nofollow">camel-extra</a></p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[rcode://host[:port]/operation[?options]
]]></script>
@@ -3033,22 +3033,22 @@ public class FilterTest extends Abstract
@ContextConfiguration
public class MyCamelTest {
-? ? @Autowired
-? ? protected CamelContext camelContext;
+Â Â @Autowired
+Â Â protected CamelContext camelContext;
-? ? @EndpointInject(uri = "mock:foo")
-? ? protected MockEndpoint foo;
+Â Â @EndpointInject(uri = "mock:foo")
+Â Â protected MockEndpoint foo;
@Test
@DirtiesContext
-? ? public void testMocksAreValid() throws Exception {
- ...? ? ? ?
+Â Â public void testMocksAreValid() throws Exception {
+ ...   Â
-? ? ? ? foo.message(0).header("bar").isEqualTo("ABC");
+Â Â Â Â foo.message(0).header("bar").isEqualTo("ABC");
-? ? ? ? MockEndpoint.assertIsSatisfied(camelContext);
-? ? }
+Â Â Â Â MockEndpoint.assertIsSatisfied(camelContext);
+Â Â }
}
]]></script>
</div></div><h4
id="BookInOnePage-PlainSpringTestusingJUnit4.1.xRunnerwithXMLConfig">Plain
Spring Test using JUnit 4.1.x Runner with XML Config</h4><p>You can avoid
extending Spring classes by using the SpringJUnit4ClassRunner provided by
Spring Test.  This custom JUnit runner means you are free to choose your
own class hierarchy while retaining all the capabilities of Spring
Test.</p><div class="confluence-information-macro
confluence-information-macro-information"><span class="aui-icon aui-icon-small
aui-iconfont-info confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>When using Spring 4.1 onwards, you
need to use the @BootstrapWith annotation to configure it to use Camel testing,
as shown below.</p></div></div><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
@@ -3057,22 +3057,22 @@ public class MyCamelTest {
@ContextConfiguration
public class MyCamelTest {
-? ? @Autowired
-? ? protected CamelContext camelContext;
+Â Â @Autowired
+Â Â protected CamelContext camelContext;
-? ? @EndpointInject(uri = "mock:foo")
-? ? protected MockEndpoint foo;
+Â Â @EndpointInject(uri = "mock:foo")
+Â Â protected MockEndpoint foo;
@Test
@DirtiesContext
-? ? public void testMocksAreValid() throws Exception {
- ...? ? ? ?
+Â Â public void testMocksAreValid() throws Exception {
+ ...   Â
-? ? ? ? foo.message(0).header("bar").isEqualTo("ABC");
+Â Â Â Â foo.message(0).header("bar").isEqualTo("ABC");
-? ? ? ? MockEndpoint.assertIsSatisfied(camelContext);
-? ? }
+Â Â Â Â MockEndpoint.assertIsSatisfied(camelContext);
+Â Â }
}
]]></script>
</div></div><h3 id="BookInOnePage-CamelEnhancedSpringTest"><span
style="line-height: 1.5625;">Camel Enhanced Spring Test</span></h3><p>Using
org.apache.camel.test.junit4.CamelSpringJUnit4ClassRunner runner with
the <strong>@RunWith</strong> annotation or extending
org.apache.camel.testng.AbstractCamelTestNGSpringContextTests provides the full
feature set of Spring Test with support for the feature set provided in the
CamelTestSupport classes.  A number of Camel specific annotations have
been developed in order to provide for declarative manipulation of the Camel
context(s) involved in the test.  These annotations free your test classes
from having to inherit from the CamelSpringTestSupport classes and also reduce
the amount of code required to customize the tests.</p><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Annotation Class</p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p
>Applies To</p></th><th colspan="1" rowspan="1"
>class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1"
>class="confluenceTh"><p>Default Behavioir If Not Present</p></th><th
>colspan="1" rowspan="1" class="confluenceTh"><p>Default Behavior If
>Present</p></th></tr><tr><td colspan="1" rowspan="1"
>class="confluenceTd"><p>org.apache.camel.test.spring.DisableJmx</p></td><td
>colspan="1" rowspan="1" class="confluenceTd"><p>Class</p></td><td colspan="1"
>rowspan="1" class="confluenceTd"><p>Indicates if JMX should be globally
>disabled in the CamelContexts that are bootstrapped  during the test
>through the use of Spring Test loaded application contexts.</p></td><td
>colspan="1" rowspan="1" class="confluenceTd"><p>JMX is disabled</p></td><td
>colspan="1" rowspan="1" class="confluenceTd"><p>JMX is
>disabled</p></td></tr><tr><td colspan="1" rowspan="1"
>class="confluenceTd"><p>org.apache.camel.test.spring.ExcludeRoutes</p></td><td
> colspan="1" rowspan="1" class="confluenceTd"><p>Cla
ss</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Indicates if
certain route builder classes should be excluded from discovery.
 Initializes a org.apache.camel.spi.PackageScanClassResolver to
exclude a set of given classes from being resolved. Typically this is used at
test time to exclude certain routes, which might otherwise be just noisy,
from being discovered and initialized.</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Not enabled and no routes are excluded</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>No routes are
excluded</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>org.apache.camel.test.spring.LazyLoadTypeConverters
(Deprecated)</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Class</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Indicates if the CamelContexts that are
bootstrapped during the test through the use of Spring Test loaded
application contexts should
use lazy loading of type converters.</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Type converters are not lazy loaded</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Type converters are not lazy
loaded</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>org.apache.camel.test.spring.MockEndpoints</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Class</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Triggers the auto-mocking of endpoints
whose URIs match the provided filter.  The default filter is "*"
which matches all endpoints.
 See org.apache.camel.impl.InterceptSendToMockEndpointStrategy for more
details on the registration of the mock endpoints.</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Not enabled</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>All endpoints are sniffed and recorded in a
mock endpoint.</p></td></tr><tr><td colspan="1" rowspan="1" class="
confluenceTd"><p>org.apache.camel.test.spring.MockEndpointsAndSkip</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Class</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Triggers the auto-mocking of endpoints
whose URIs match the provided filter.  The default filter is "*",
which matches all endpoints.  See <a shape="rect"
class="external-link"
href="http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/InterceptSendToMockEndpointStrategy.java?view=markup">org.apache.camel.impl.InterceptSendToMockEndpointStrategy</a> for more
details on the registration of the mock endpoints.  This annotation will
also skip sending the message to matched endpoints as well.</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Not enabled</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>All endpoints are sniffed and
recorded in a mock endpoint.  The original endpoint is not invoked.</p></
td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>org.apache.camel.test.spring.ProvidesBreakpoint</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Method</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Indicates that the annotated method returns
an org.apache.camel.spi.Breakpoint for use in the test.  Useful
for intercepting traffic to all endpoints or simply for setting a break
point in an IDE for debugging.  The method must be public, static,
take no arguments, and return org.apache.camel.spi.Breakpoint.</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>N/A</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The returned Breakpoint is registered in
the CamelContext(s)</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>org.apache.camel.test.spring.ShutdownTimeout</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Class</p></td><td colspan="1"
rowspan="1" class="confluence
Td"><p>Indicates to set the shutdown timeout of all CamelContexts instantiated
through the use of Spring Test loaded application contexts.  If no
annotation is used, the timeout is automatically reduced to 10 seconds by
the test framework.</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>10 seconds</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>10 seconds</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>org.apache.camel.test.spring.UseAdviceWith</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Class</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Indicates the use of adviceWith() within
the test class.  If a class is annotated with this annotation and
UseAdviceWith#value() returns true, any CamelContexts bootstrapped
during the test through the use of Spring Test loaded application contexts
will not be started automatically.  The test author is responsible
for injecti
ng the Camel contexts into the test and executing CamelContext#start() on
them at the appropriate time after any advice has been applied to the
routes in the CamelContext(s).</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>CamelContexts do not automatically start.</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>CamelContexts do not
automatically start.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd">org.apache.camel.test.spring.UseOverridePropertiesWithPropertiesComponent</td><td
colspan="1" rowspan="1" class="confluenceTd">Method</td><td colspan="1"
rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong>Indicates that the
annotated method returns a java.util.Properties for use in the test, and that
those properties override any existing properties configured on the
PropertiesComponent</td><td colspan="1" rowspan="1"
class="confluenceTd"> </td><td colspan="1" rowspan="1"
class="confluenceTd">Override properties</td></tr>
</tbody></table></div><p>The following example illustrates the use of the
<strong>@MockEndpoints</strong> annotation in order to setup mock
endpoints as interceptors on all endpoints using the Camel Log component and
the <strong>@DisableJmx</strong> annotation to enable JMX which is disabled
during tests by default.  Note that we still use the
<strong>@DirtiesContext</strong> annotation to ensure that the CamelContext,
routes, and mock endpoints are reinitialized between test methods.</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
@@ -3685,11 +3685,11 @@ The tutorial has been designed in two pa
While not actual tutorials you might find working through the source of the
various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul>
<h2 id="BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring
Remoting with JMS</h2><p> </p><div class="confluence-information-macro
confluence-information-macro-information"><p class="title">Thanks</p><span
class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>This tutorial was kindly donated
to Apache Camel by Martin Gilday.</p></div></div><h2
id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the
reader through the stages of creating a project which uses Camel to facilitate
the routing of messages from a JMS queue to a <a shape="rect"
class="external-link" href="http://www.springramework.org"
rel="nofollow">Spring</a> service. The route works in a synchronous fashion
returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1439464682212 {padding: 0px;}
-div.rbtoc1439464682212 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1439464682212 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1439979495412 {padding: 0px;}
+div.rbtoc1439979495412 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1439979495412 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1439464682212">
+/*]]>*/</style></p><div class="toc-macro rbtoc1439979495412">
<ul class="toc-indentation"><li><a shape="rect"
href="#BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring
Remoting with JMS</a></li><li><a shape="rect"
href="#BookInOnePage-Preface">Preface</a></li><li><a shape="rect"
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect"
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect"
href="#BookInOnePage-About">About</a></li><li><a shape="rect"
href="#BookInOnePage-CreatetheCamelProject">Create the Camel Project</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#BookInOnePage-UpdatethePOMwithDependencies">Update the POM with
Dependencies</a></li></ul>
</li><li><a shape="rect" href="#BookInOnePage-WritingtheServer">Writing the
Server</a>
@@ -5789,11 +5789,11 @@ So we completed the last piece in the pi
<p>This example has been removed from <strong>Camel 2.9</strong> onwards.
Apache Axis 1.4 is a very old and unsupported framework. We encourage users to
use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div>
<style type="text/css">/*<![CDATA[*/
-div.rbtoc1439464683014 {padding: 0px;}
-div.rbtoc1439464683014 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1439464683014 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1439979495911 {padding: 0px;}
+div.rbtoc1439979495911 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1439979495911 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style><div class="toc-macro rbtoc1439464683014">
+/*]]>*/</style><div class="toc-macro rbtoc1439979495911">
<ul class="toc-indentation"><li><a shape="rect"
href="#BookInOnePage-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis
1.4 with Apache Camel</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect"
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect"
href="#BookInOnePage-Introduction">Introduction</a></li><li><a shape="rect"
href="#BookInOnePage-SettinguptheprojecttorunAxis">Setting up the project to
run Axis</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#BookInOnePage-Maven2">Maven 2</a></li><li><a shape="rect"
href="#BookInOnePage-wsdl">wsdl</a></li><li><a shape="rect"
href="#BookInOnePage-ConfiguringAxis">Configuring Axis</a></li><li><a
shape="rect" href="#BookInOnePage-RunningtheExample">Running the
Example</a></li></ul>
@@ -7895,7 +7895,7 @@ result = body * 2 + 1
]]></script>
</div></div><p>For example you could use the <strong>groovy</strong> function
to create an <a shape="rect" href="predicate.html">Predicate</a> in a <a
shape="rect" href="message-filter.html">Message Filter</a> or as an <a
shape="rect" href="expression.html">Expression</a> for a <a shape="rect"
href="recipient-list.html">Recipient List</a></p><h3
id="BookInOnePage-CustomizingGroovyShell">Customizing Groovy
Shell</h3><p>Sometimes you may need to use custom <code>GroovyShell</code>
instance in your Groovy expressions. To provide custom
<code>GroovyShell</code>, add implementation of
the <code>org.apache.camel.language.groovy.GroovyShellFactory</code> SPI
interface to your Camel registry. For example after adding the following bean
to your Spring context...</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[public class CustomGroovyShellFactory
implements GroovyShellFactory {
-?
+Â
public GroovyShell createGroovyShell(Exchange exchange) {
ImportCustomizer importCustomizer = new ImportCustomizer();
importCustomizer.addStaticStars("com.example.Utils");
@@ -8241,7 +8241,7 @@ simple("There are ${body.length} li
</div></div><p>Some examples:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[// exact equals match
simple("${in.header.foo} == 'foo'")
-?
+Â
// ignore case when comparing, so if the header has value FOO this will match
simple("${in.header.foo} =~ 'foo'")
@@ -9476,7 +9476,7 @@ oldCSV.setDelimiter("|");
from("direct:start")
.marshal(oldCSV)
.to("mock:result")
-?
+Â
// Camel version >= 2.15
from("direct:start")
.marshal(new CsvDataFormat().setDelimiter('|'))
@@ -9883,7 +9883,7 @@ format.setUnmarshalType(MyPojo.class);]]
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[ <bean id="myJacksonModule"
class="com.foo.MyModule">
... // configure the module as you want
</bean>
-?
+Â
<dataFormats>
<json id="json" library="Jackson"
useList="true" unmarshalTypeName="com.foo.MyPojo"
moduleRefs="myJacksonModule"/>
</dataFormats>]]></script>
@@ -9910,9 +9910,9 @@ Invoice invoice = exchange.getIn().getBo
</dataFormats>]]></script>
</div></div><p><span style="line-height: 1.5625;">And in Java
DSL:</span></p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[from("direct:inPretty").marshal().json(true);
-?
+Â
from("direct:inPretty").marshal().json(JsonLibrary.Jackson, true);
-?
+Â
from("direct:inPretty").marshal().json(JsonLibrary.Gson,
true);]]></script>
</div></div><p><span style="line-height: 1.5625;">Please note that as of Camel
2.16 there’re 5 different overloaded <code>json()</code> DSL methods
which support the <code>prettyPrint</code> option in combination with other
settings for <code>JsonLibrary</code>, <code>unmarshalType</code>,
<code>jsonView</code> etc. </span></p><h3
id="BookInOnePage-DependenciesforXStream"><span style="line-height:
1.5625;">Dependencies for XStream</span></h3><p>To use JSON in your camel
routes you need to add the a dependency on <strong>camel-xstream</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"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
@@ -9972,7 +9972,7 @@ from("direct:start").marshal()
<p>In this example we unmarshal a zipped payload from an ActiveMQ
queue called MY_QUEUE to its original format, and forward it
for processing to the UnZippedMessageProcessor. Note that the
compression Level employed during the marshalling should be identical to the
one employed during unmarshalling to avoid errors.</p>
<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
-from("activemq:queue:MY_QUEUE").unmarshal().zip().process(new
UnZippedMessageProcessor());?
+from("activemq:queue:MY_QUEUE").unmarshal().zip().process(new
UnZippedMessageProcessor());Â
]]></script>
</div></div>
@@ -10703,7 +10703,7 @@ public class Security {
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[// Camel 2.15 or older (configure by package
name)
DataFormat bindy = new BindyCsvDataFormat("com.acme.model");
-?
+Â
// Camel 2.16 onwards (configure by class name)
DataFormat bindy = new
BindyCsvDataFormat(com.acme.model.MyModel.class);]]></script>
</div></div><h4 id="BookInOnePage-Settinglocale">Setting locale</h4><p>Bindy
supports configuring the locale on the dataformat, such as </p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
@@ -10790,7 +10790,7 @@ bindy.setLocale(Locale.getDefault().getI
<camelContext
xmlns="http://camel.apache.org/schema/spring">
-?
+Â
<dataFormats>
<bindy id="bindyDataformat" type="Csv"
classType="org.apache.camel.bindy.model.Order"/>
</dataFormats>
@@ -11638,13 +11638,13 @@ from("direct:start")
List<String> expectedSigUserIds = new ArrayList<String>();
expectedSigUserIds.add("Trusted company1");
expectedSigUserIds.add("Trusted company2");
-?
+Â
PGPDataFormat pgpVerifyWithSpecificKeysAndDecrypt = new PGPDataFormat();
pgpVerifyWithSpecificKeysAndDecrypt.setPassword("my password"); //
for decrypting with private key
pgpVerifyWithSpecificKeysAndDecrypt.setKeyFileName(keyfileName);
pgpVerifyWithSpecificKeysAndDecrypt.setSignatureKeyFileName(signatgureKeyfileName);
pgpVerifyWithSpecificKeysAndDecrypt.setSignatureKeyUserids(expectedSigUserIds);
// if you have only one signer identity then you can also use
setSignatureKeyUserid("expected Signer")
-?
+Â
from("direct:start")
...
.unmarshal(pgpVerifyWithSpecificKeysAndDecrypt)
@@ -11660,7 +11660,7 @@ from("direct:start")
signerUserIds.add("company old key");
signerUserIds.add("company new key");
pgpSignAndEncryptSeveralSignerKeys.setSignatureKeyUserids(signerUserIds);
-?
+Â
from("direct:start")
...
.marshal(pgpSignAndEncryptSeveralSignerKeys)
@@ -12936,7 +12936,7 @@ RouteBuilder builder = new RouteBuilder(
</div></div><p>For further examples of this pattern in use you could look at
one of the <a shape="rect" class="external-link"
href="http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitterTest.java?view=markup">junit
test case</a></p><h3
id="BookInOnePage-SplittingaCollection,IteratororArray">Splitting a Collection,
Iterator or Array</h3><p>A common use case is to split a Collection, Iterator
or Array from the <span class="confluence-link">message</span>. In the sample
below we simply use an <a shape="rect"
href="expression.html">Expression</a> to identify the value to split.</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[from("direct:splitUsingBody").split(body()).to("mock:result");
-from("direct:splitUsingHeader").split(header("foo")).to("mock:result");?]]></script>
+from("direct:splitUsingHeader").split(header("foo")).to("mock:result");Â
]]></script>
</div></div><p>In Spring XML you can use the <a shape="rect"
href="simple.html">Simple</a> language to identify the value to split.</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<split>
<simple>${body}</simple>
@@ -12946,7 +12946,7 @@ from("direct:splitUsingHeader"
<split>
<simple>${header.foo}</simple>
<to uri="mock:result"/>
-</split> ?]]></script>
+</split> Â ]]></script>
</div></div><h3 id="BookInOnePage-UsingTokenizerfrom*">Using Tokenizer from <a
shape="rect" href="spring-xml-extensions.html">Spring XML
Extensions</a>*</h3><p>You can use the tokenizer expression in the Spring DSL
to split bodies or headers using a token. This is a common use-case, so we
provided a special <strong>tokenizer</strong> tag for this.<br clear="none"> In
the sample below we split the body using a @ as separator. You can of course
use comma or space or even a regex pattern, also set regex=true.</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
<camelContext xmlns="http://camel.apache.org/schema/spring">
@@ -13544,7 +13544,7 @@ public final class MyListOfNumbersStrate
]]></script>
</div></div><h3 id="BookInOnePage-UsingAggregateController">Using
AggregateController</h3><p><strong>Available as of Camel
2.16</strong></p><p>The <code>org.apache.camel.processor.aggregate.AggregateController</code>
allows you to control the aggregate at runtime using Java or JMX API. This can
be used to force completing groups of exchanges, or query its current runtime
statistics.</p><p>The aggregator provides a default implementation if no custom
have been configured, which can be accessed
using <code>getAggregateController()</code> method. Though it may be
easier to configure a controller in the route using aggregateController as
shown below:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[private AggregateController controller = new
DefaultAggregateController();
-?
+Â
from("direct:start")
.aggregate(header("id"), new
MyAggregationStrategy()).completionSize(10).id("myAggregator")
.aggregateController(controller)
@@ -13555,7 +13555,7 @@ from("direct:start")
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[int groups =
controller.forceCompletionOfAllGroups();]]></script>
</div></div><p> </p><p>To configure this from XML DSL</p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<bean id="myController"
class="org.apache.camel.processor.aggregate.DefaultAggregateController"/>
-?
+Â
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:start"/>
@@ -16452,7 +16452,7 @@ from("direct:tap")
<constructor-arg value="com.mycompany.mylogger" />
</bean>
- ?<route id="moo"
xmlns="http://camel.apache.org/schema/spring">
+ Â <route id="moo"
xmlns="http://camel.apache.org/schema/spring">
<from uri="direct:moo"/>
<log message="Me Got ${body}"
loggingLevel="INFO" loggerRef="myLogger"/>
<to uri="mock:baz"/>
@@ -17328,7 +17328,7 @@ commetdComponent.setSslContextParameters
password="keystorePassword"/>
</camel:keyManagers>
</camel:sslContextParameters>...
-?
+Â
<bean id="cometd"
class="org.apache.camel.component.cometd.CometdComponent">
<property name="sslContextParameters"
ref="sslContextParameters"/>
</bean>
@@ -17599,11 +17599,11 @@ template.send("direct:alias-verify&
]]></script>
</div></div><p></p><h3 id="BookInOnePage-SeeAlso.28">See Also</h3>
<ul><li><a shape="rect" href="configuring-camel.html">Configuring
Camel</a></li><li><a shape="rect"
href="component.html">Component</a></li><li><a shape="rect"
href="endpoint.html">Endpoint</a></li><li><a shape="rect"
href="getting-started.html">Getting Started</a></li></ul><ul><li><a
shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a
shape="rect" href="data-format.html">Data Format</a></li></ul> <h2
id="BookInOnePage-CXFComponent">CXF Component</h2><div
class="confluence-information-macro confluence-information-macro-note"><span
class="aui-icon aui-icon-small aui-iconfont-warning
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>When using CXF as a consumer, the
<a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows
you to factor out how message payloads are received from their processing as a
RESTful or SOAP web service. This has the potential of using a multitude of
transports to consume web
services. The bean component's configuration is also simpler and provides the
fastest method to implement web services using Camel and
CXF.</p></div></div><div class="confluence-information-macro
confluence-information-macro-tip"><span class="aui-icon aui-icon-small
aui-iconfont-approve confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>When using CXF in streaming modes
(see DataFormat option), then also read about <a shape="rect"
href="stream-caching.html">Stream caching</a>.</p></div></div><p>The
<strong>cxf:</strong> component provides integration with <a shape="rect"
href="http://cxf.apache.org">Apache CXF</a> for connecting to JAX-WS services
hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1439464703168 {padding: 0px;}
-div.rbtoc1439464703168 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1439464703168 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1439979514466 {padding: 0px;}
+div.rbtoc1439979514466 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1439979514466 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1439464703168">
+/*]]>*/</style></p><div class="toc-macro rbtoc1439979514466">
<ul class="toc-indentation"><li><a shape="rect"
href="#BookInOnePage-CXFComponent">CXF Component</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#BookInOnePage-URIformat">URI format</a></li><li><a shape="rect"
href="#BookInOnePage-Options">Options</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#BookInOnePage-Thedescriptionsofthedataformats">The descriptions of the
dataformats</a>
@@ -20622,7 +20622,7 @@ public class PatientLookupService {
]]></script>
</div></div><p><strong>sync=true</strong> indicates that this listener is
synchronous and therefore will return a HL7 response to the caller. The HL7
codec is setup with <strong>encoder=#hl7encoder </strong>and<strong>
decoder=#hl7decoder</strong>. Note that <code>hl7encoder</code> and
<code>hl7decoder</code> are just bean IDs, so they could be named differently.
The beans can be set in the Spring XML file:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[ <bean id="hl7decoder"
class="org.apache.camel.component.hl7.HL7MLLPNettyDecoderFactory"/>
-? <bean id="hl7encoder"
class="org.apache.camel.component.hl7.HL7MLLPNettyEncoderFactory"/>]]></script>
+Â <bean id="hl7encoder"
class="org.apache.camel.component.hl7.HL7MLLPNettyEncoderFactory"/>]]></script>
</div></div><p>The endpoint <strong>hl7NettyListener</strong> can then be used
in a route as a consumer, as this Java DSL example illustrates:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
from("hl7NettyListener").beanRef("patientLookupService");
]]></script>
@@ -20683,7 +20683,7 @@ String patientId = msg.getQRD().getWhoSu
.setHeader("PATIENT_ID",terser("QRD-8(0)-1"))
.to("mock:test1");
- ?// continue processing if extracted field equals a message header
+ Â // continue processing if extracted field equals a message header
from("direct:test2")
.filter(terser("QRD-8(0)-1").isEqualTo(header("PATIENT_ID"))
.to("mock:test2");
@@ -20956,9 +20956,9 @@ ProtocolSocketFactory factory =
Protocol.registerProtocol("https",
new Protocol(
-??????? "https",
-??????? factory,
-??????? 443));
+Â Â Â Â Â Â Â "https",
+Â Â Â Â Â Â Â factory,
+Â Â Â Â Â Â Â 443));
from("direct:start")
.to("https://mail.google.com/mail/").to("mock:results");
@@ -21588,7 +21588,7 @@ We store big input streams (by default,
</div></div><h3 id="BookInOnePage-URIformat.32">URI format</h3><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[jcr://user:password@repository/path/to/node
]]></script>
-</div></div><div class="confluence-information-macro
confluence-information-macro-tip"><p class="title">Consumer added</p><span
class="aui-icon aui-icon-small aui-iconfont-approve
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>From <strong>Camel 2.10</strong>
onwards you can use consumer as an EventListener in JCR or a producer to read a
node by identifier.</p></div></div><h3
id="BookInOnePage-Usage.3">Usage</h3><p>The <code>repository</code> element of
the URI is used to look up the JCR <code>Repository</code> object in the Camel
context registry.</p><h4 id="BookInOnePage-Producer.1">Producer</h4><div
class="confluenceTableSmall"><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>Description</p></th></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>CamelJcrOperation</code></p></td><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>CamelJcrInsert</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>CamelJcrInsert or CamelJcrGetById operation
to use</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>CamelJcrNodeName</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Used to determine the node name to
use.</p></td></tr></tbody></table></div></div><p>When a message is sent to a
JCR producer endpoint:</p><ul><li>If the operation is CamelJcrInsert: A new
node is created in the content repository, all the message headers of the IN
message are transformed to <code><a shape="rect" class="external-link"
href="http://www.day.com/specs/javax.jcr/javadocs/jcr-2.0/javax/jcr/Value.html"
rel="nofollow">javax.jcr.Value</a></code> instances and added to the new node
and the nod
e's UUID is returned in the OUT message.</li><li>If the operation is
CamelJcrGetById: A new node is retrieved from the repository using the message
body as node identifier.</li></ul><div class="confluence-information-macro
confluence-information-macro-note"><span class="aui-icon aui-icon-small
aui-iconfont-warning confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>Please note that the JCR Producer
used message properties instead of message headers in Camel versions earlier
than 2.12.3. See <a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/CAMEL-7067">https://issues.apache.org/jira/browse/CAMEL-7067</a>
for more details.</p></div></div><p> </p><h4
id="BookInOnePage-Consumer.1">Consumer</h4><p>The consumer will connect to JCR
periodically and return a List<<a shape="rect" class="external-link"
href="http://www.day.com/specs/javax.jcr/javadocs/jcr-2.0/javax/jcr/observation/Event.html"
rel="nofollow">javax.
jcr.observation.Event</a>> in the message body.</p><div
class="confluenceTableSmall"><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>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>eventTypes</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>A combination of one or more
event types encoded as a bit mask value such as
javax.jcr.observation.Event.NODE_ADDED,
javax.jcr.observation.Event.NODE_REMOVED, etc.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>deep</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>When it is true, event
s whose associated parent node is at current path or within its subgraph are
received.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>uuids</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Only events whose associated parent node has one of the
identifiers in the comma separated uuid list will be
received.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>nodeTypeNames</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Only events whose associated parent node
has one of the node types (or a subtype of one of the node types) in this list
will be received.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>noLocal</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>If <code>noLocal</code> is
<code>true</code>, then events generated by the session through which the
listener was registered are ignored. Otherwise, they are not
ignored.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>sessionLiveCheckInterval</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>60000</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Interval in milliseconds to
wait before each session live checking.</p></td></tr><tr><td colspan="1"
rowspan="1"
class="confluenceTd"><p><code>sessionLiveCheckIntervalOnStart</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>3000</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Interval in milliseconds to
wait before the first session live checking.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><span style="font-family:
monospace;">username</span></p></td><td colspan="1" rows
pan="1" class="confluenceTd"><p> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><strong>Camel 2.15:</strong> Allows to specify the
username as a uri parameter instead of in the authority section of the
uri</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span
style="font-family: monospace;">password</span></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><strong>Camel 2.15:</strong> Allows to specify the
password as a uri parameter instead of in the authority section of the
uri</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span
style="font-family: monospace;">workspaceName</span></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><strong>Camel 2.16:</strong><span> Allows
to specify a workspace different from
default</span></p></td></tr></tbody></table></div>
</div><h3 id="BookInOnePage-Example.21">Example</h3><p>The snippet below
creates a node named <code>node</code> under the <code>/home/test</code> node
in the content repository. One additional property is added to the node as
well: <code>my.contents.property</code> which will contain the body of the
message being sent.</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+</div></div><div class="confluence-information-macro
confluence-information-macro-tip"><p class="title">Consumer added</p><span
class="aui-icon aui-icon-small aui-iconfont-approve
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>From <strong>Camel 2.10</strong>
onwards you can use consumer as an EventListener in JCR or a producer to read a
node by identifier.</p></div></div><h3
id="BookInOnePage-Usage.3">Usage</h3><p>The <code>repository</code> element of
the URI is used to look up the JCR <code>Repository</code> object in the Camel
context registry.</p><h4 id="BookInOnePage-Producer.1">Producer</h4><div
class="confluenceTableSmall"><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>Description</p></th></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>CamelJcrOperation</code></p></td><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>CamelJcrInsert</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>CamelJcrInsert or CamelJcrGetById operation
to use</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>CamelJcrNodeName</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Used to determine the node name to
use.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><code>CamelJcrNodeType</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> To use a specify
primary node type when creating adding a new
node.</td></tr></tbody></table></div></div><p>When a message is sent to a JCR
producer endpoint:</p><ul><li>If the operation is CamelJcrInsert: A new node
is created in the content repository, all the message headers of the IN
message are transformed to <code><a shape="rect" class="external-link"
href="http://www.day.com/specs/javax.jcr/javadocs/jcr-2.0/javax/jcr/Value.html"
rel="nofollow">javax.jcr.Value</a></code> instances and added to the new node
and the node's UUID is returned in the OUT message.</li><li>If the operation is
CamelJcrGetById: A new node is retrieved from the repository using the message
body as node identifier.</li></ul><div class="confluence-information-macro
confluence-information-macro-note"><span class="aui-icon aui-icon-small
aui-iconfont-warning confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>Please note that the JCR Producer
used message properties instead of message headers in Camel versions earlier
than 2.12.3. See <a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/CAMEL-7067">https://issues.apache.org/jira/browse/CAMEL-7067</a>
f
or more details.</p></div></div><p> </p><h4
id="BookInOnePage-Consumer.1">Consumer</h4><p>The consumer will connect to JCR
periodically and return a List<<a shape="rect" class="external-link"
href="http://www.day.com/specs/javax.jcr/javadocs/jcr-2.0/javax/jcr/observation/Event.html"
rel="nofollow">javax.jcr.observation.Event</a>> in the message
body.</p><div class="confluenceTableSmall"><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>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>eventTypes</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>A combination of one or more
event types encoded as a bit mask value such as javax.jcr.observation.
Event.NODE_ADDED, javax.jcr.observation.Event.NODE_REMOVED,
etc.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>deep</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>When it is true, events whose associated parent node is
at current path or within its subgraph are received.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>uuids</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Only events whose associated
parent node has one of the identifiers in the comma separated uuid list will be
received.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>nodeTypeNames</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Only events whose
associated parent node has one of the node types (or a subtype of one of the
node types) in this list will be received.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>noLocal</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>If <code>noLocal</code> is
<code>true</code>, then events generated by the session through which the
listener was registered are ignored. Otherwise, they are not
ignored.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>sessionLiveCheckInterval</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>60000</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Interval in milliseconds to
wait before each session live checking.</p></td></tr><tr><td colspan="1"
rowspan="1"
class="confluenceTd"><p><code>sessionLiveCheckIntervalOnStart</code></p></td><td
colspan="1" rowspan="1" class="conflu
enceTd"><p><code>3000</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Interval in milliseconds to wait before the first
session live checking.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><span style="font-family:
monospace;">username</span></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><strong>Camel 2.15:</strong> Allows to specify the
username as a uri parameter instead of in the authority section of the
uri</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span
style="font-family: monospace;">password</span></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><strong>Camel 2.15:</strong> Allows to specify the
password as a uri parameter instead of in the authority section of the
uri</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span
style="f
ont-family: monospace;">workspaceName</span></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><strong>Camel 2.16:</strong><span> Allows
to specify a workspace different from
default</span></p></td></tr></tbody></table></div></div><h3
id="BookInOnePage-Example.21">Example</h3><p>The snippet below creates a node
named <code>node</code> under the <code>/home/test</code> node in the content
repository. One additional property is added to the node as well:
<code>my.contents.property</code> which will contain the body of the message
being sent.</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[from("direct:a").setHeader(JcrConstants.JCR_NODE_NAME,
constant("node"))
.setHeader("my.contents.property", body())
.to("jcr://user:pass@repository/home/test");]]></script>
@@ -22515,7 +22515,7 @@ but the following listed types were not
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[public class Jt400RouteBuilder extends
RouteBuilder {
@Override
public void configure() throws Exception {
-
from("direct:work").to("jt400://GRUPO:ATWORK@server/QSYS.LIB/assets.LIB/compute.PGM?fieldsLength=10,10,512&ouputFieldsIdx=2,3").to(?direct:play?);
+
from("direct:work").to("jt400://GRUPO:ATWORK@server/QSYS.LIB/assets.LIB/compute.PGM?fieldsLength=10,10,512&ouputFieldsIdx=2,3").to(âdirect:playâ);
}
}
]]></script>
Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.