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.
|