Author: buildbot Date: Wed Dec 16 14:22:06 2015 New Revision: 975689 Log: Production update by buildbot for camel
Modified: websites/production/camel/content/aws-sqs.html 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/camel-2170-release.html Modified: websites/production/camel/content/aws-sqs.html ============================================================================== --- websites/production/camel/content/aws-sqs.html (original) +++ websites/production/camel/content/aws-sqs.html Wed Dec 16 14:22:06 2015 @@ -88,7 +88,7 @@ <div class="wiki-content maincontent"><h2 id="AWS-SQS-SQSComponent">SQS Component</h2><p><strong>Available as of Camel 2.6</strong></p><p>The sqs component supports sending and receiving messages to <a shape="rect" class="external-link" href="http://aws.amazon.com/sqs" rel="nofollow">Amazon's SQS</a> service.</p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Prerequisites</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>You must have a valid Amazon Web Services developer account, and be signed up to use Amazon SQS. More information are available at <a shape="rect" class="external-link" href="http://aws.amazon.com/sqs" rel="nofollow">Amazon SQS</a>.</p></div></div><h3 id="AWS-SQS-URIFormat">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[aws-sqs://queue-name[?options] ]]></script> -</div></div><p>The queue will be created if they don't already exists.<br clear="none"> You can append query options to the URI in the following format, ?options=value&option2=value&...</p><h3 id="AWS-SQS-URIOptions">URI Options</h3><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>Context</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>amazonSQSClient</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Reference to a <code>com.amazonaws.services.sqs.AmazonSQS</code> in the <a shape="rect" href="registry.html">Registry</a>.</p></t d></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>accessKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Amazon AWS Access Key</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>secretKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Amazon AWS Secret Key</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>amazonSQSEndpoint</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The region with which the AWS-SQS client wants to work with. Only works if Camel creates the AWS-SQ S client, i.e., if you explicitly set amazonSQSClient, then this setting will have no effect. You would have to set it on the client you create directly</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>attributeNames</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A list of attributes to set in the <code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">concurrentConsumers</td><td colspan="1" rowspan="1" class="confluenceTd">1</td><td colspan="1" rowspan="1" class="confluenceTd">Consumer</td><td colspan="1" rowspan="1" class="confluenceTd">(<strong>as of 2.15.0</strong>) Allows you to use multiple threads to poll the sqs queue to increase throughput</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>defaultVisibilit yTimeout</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The visibility timeout (in seconds) to set in the <code>com.amazonaws.services.sqs.model.CreateQueueRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deleteAfterRead</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Delete message from SQS after it has been read (and processed by the route)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deleteIfFiltered</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><stron g>Camel 2.12.2,2.13.0</strong> Whether or not to send the DeleteMessage to the SQS queue if an exchange fails to get through a filter. If 'false' and exchange does not make it through a Camel filter upstream in the route, then don't send DeleteMessage.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>maxMessagesPerPoll</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of messages which can be received in one poll to set in the <code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>visibilityTimeout</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The durat ion (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>. This only make sense if its different from <code>defaultVisibilityTimeout</code>. It changes the queue visibility timeout attribute permanently.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>messageVisibilityTimeout</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the <code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>. It does <strong>NOT</strong> change the queue visibility timeout a ttribute permanently.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>extendMessageVisibility</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> If enabled then a scheduled background task will keep extending the message visibility on SQS. This is needed if it taks a long time to process the message. If set to true <code>defaultVisibilityTimeout</code> must be set. See details at <a shape="rect" class="external-link" href="http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/APIReference/Query_QueryChangeMessageVisibility.html" rel="nofollow">Amazon docs</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>maximumMessageSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confl uenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The maximumMessageSize (in bytes) an SQS message can contain for this queue, to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>messageRetentionPeriod</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue, to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>policy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p> </td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The policy for this queue to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>delaySeconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.3:</strong> Delay sending messages for a number of seconds.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>waitTimeSeconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to inc lude in the response.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>receiveMessageWaitTimeSeconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>queueOwnerAWSAccountId</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong> Specify the queue owner aws account id when you need to connect the queue with different account owner.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>reg ion</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12.3:</strong> Specify the queue region which could be used with <code>queueOwnerAWSAccountId</code> to build the service URL.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>redrivePolicy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd">Shared</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.15</strong>: Specify the policy that send message to DeadLetter queue. See detail at <a shape="rect" class="external-link" href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues-redrivepolicy.html" rel="nofollow">Amazon docs</a>.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>proxyHost</p></td><td co lspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd">Shared</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16</strong>: Specify a proxy host to be used inside the client definition.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>proxyPort</p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd">Shared</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16</strong>: Specify a proxy port to be used inside the client definition.</td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Required SQS component options</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>You have to provide the amazonSQSClient in the <a shape="rect" hre f="registry.html">Registry</a> or your accessKey and secretKey to access the <a shape="rect" class="external-link" href="http://aws.amazon.com/sqs" rel="nofollow">Amazon's SQS</a>.</p></div></div><h3 id="AWS-SQS-BatchConsumer">Batch Consumer</h3><p>This component implements the <a shape="rect" href="batch-consumer.html">Batch Consumer</a>.</p><p>This allows you for instance to know how many messages exists in this batch and for instance let the <a shape="rect" href="aggregator.html">Aggregator</a> aggregate this number of messages.</p><h3 id="AWS-SQS-Usage">Usage</h3><h4 id="AWS-SQS-MessageheaderssetbytheSQSproducer">Message headers set by the SQS producer</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <p><code>CamelAwsSqsMD5OfBody</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The MD5 checksum of the Amazon SQS message.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsMessageId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message ID.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsDelaySeconds</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Integer</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Since <strong>Camel 2.11</strong>, the delay seconds that the Amazon SQS message can be see by others.</p></td></tr></tbody></table></div><h4 id="AWS-SQS-MessageheaderssetbytheSQSconsumer">Message headers set by the SQS consumer</h4><div class="table-wrap"><t able class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsMD5OfBody</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The MD5 checksum of the Amazon SQS message.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsMessageId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message ID.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsReceiptHandle</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colsp an="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message receipt handle.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsAttributes</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Map<String, String></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message attributes.</p></td></tr></tbody></table></div><h4 id="AWS-SQS-AdvancedAmazonSQSconfiguration">Advanced AmazonSQS configuration</h4><p>If your Camel Application is running behind a firewall or if you need to have more control over the AmazonSQS instance configuration, you can create your own instance:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div><p>The queue will be created if they don't already exists.<br clear="none"> You can append query options to the URI in the following format, ?options=value&option2=value&...</p><h3 id="AWS-SQS-URIOptions">URI Options</h3><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>Context</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>amazonSQSClient</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Reference to a <code>com.amazonaws.services.sqs.AmazonSQS</code> in the <a shape="rect" href="registry.html">Registry</a>.</p></t d></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>accessKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Amazon AWS Access Key</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>secretKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Amazon AWS Secret Key</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>amazonSQSEndpoint</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The region with which the AWS-SQS client wants to work with. Only works if Camel creates the AWS-SQ S client, i.e., if you explicitly set amazonSQSClient, then this setting will have no effect. You would have to set it on the client you create directly</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>attributeNames</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A list of attributes to set in the <code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>concurrentConsumers</p></td><td colspan="1" rowspan="1" class="confluenceTd">1</td><td colspan="1" rowspan="1" class="confluenceTd">Consumer</td><td colspan="1" rowspan="1" class="confluenceTd">(<strong>as of 2.15.0</strong>) Allows you to use multiple threads to poll the sqs queue to increase throughput</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>defaultVi sibilityTimeout</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The visibility timeout (in seconds) to set in the <code>com.amazonaws.services.sqs.model.CreateQueueRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deleteAfterRead</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Delete message from SQS after it has been read (and processed by the route)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deleteIfFiltered</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p ><strong>Camel 2.12.2,2.13.0</strong> Whether or not to send the DeleteMessage >to the SQS queue if an exchange fails to get through a filter. If 'false' and >exchange does not make it through a Camel filter upstream in the route, then >don't send DeleteMessage.</p></td></tr><tr><td colspan="1" rowspan="1" >class="confluenceTd"><p>maxMessagesPerPoll</p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p>The maximum number of messages which can >be received in one poll to set in the ><code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>.</p></td></tr><tr><td > colspan="1" rowspan="1" >class="confluenceTd"><p>visibilityTimeout</p></td><td colspan="1" rowspan="1" >class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" >class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" >class="confluenceTd"><p>Th e duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request. This only make sense if its different from <code>defaultVisibilityTimeout</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>extendMessageVisibility</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> If enabled a scheduled background task will keep extending the message visibility on SQS. This is needed if it takes a long time to process the message. If set to true<code> visibilityTimeout</code> must be set. See details at <a shape="rect" class="external-link" href="http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/APIReference/Query_QueryChangeMessageVisibility.html" rel="nofollow">Amazon docs</a>.</p></td></tr><tr>< td colspan="1" rowspan="1" class="confluenceTd"><p>maximumMessageSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The maximumMessageSize (in bytes) an SQS message can contain for this queue, to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>messageRetentionPeriod</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue, to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td colspan ="1" rowspan="1" class="confluenceTd"><p>policy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The policy for this queue to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>delaySeconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.3:</strong> Delay sending messages for a number of seconds.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>waitTimeSeconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td ><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel >2.11:</strong> Duration in seconds (0 to 20) that the ReceiveMessage action >call will wait until a message is in the queue to include in the >response.</p></td></tr><tr><td colspan="1" rowspan="1" >class="confluenceTd"><p>receiveMessageWaitTimeSeconds</p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> If you do >not specify WaitTimeSeconds in the request, the queue attribute >ReceiveMessageWaitTimeSeconds is used to determine how long to >wait.</p></td></tr><tr><td colspan="1" rowspan="1" >class="confluenceTd"><p>queueOwnerAWSAccountId</p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p><strong>C amel 2.12:</strong> Specify the queue owner aws account id when you need to connect the queue with different account owner.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>region</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12.3:</strong> Specify the queue region which could be used with <code>queueOwnerAWSAccountId</code> to build the service URL.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>redrivePolicy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd">Shared</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.15</strong>: Specify the policy that send message to DeadLetter queue. See detail at <a shape="rect" class="external-link" href="http://docs.aws.amazon.com/AWSClo udFormation/latest/UserGuide/aws-properties-sqs-queues-redrivepolicy.html" rel="nofollow">Amazon docs</a>.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>proxyHost</p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd">Shared</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16</strong>: Specify a proxy host to be used inside the client definition.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>proxyPort</p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd">Shared</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16</strong>: Specify a proxy port to be used inside the client definition.</td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Required SQS component options</p><span class="aui- icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>You have to provide the amazonSQSClient in the <a shape="rect" href="registry.html">Registry</a> or your accessKey and secretKey to access the <a shape="rect" class="external-link" href="http://aws.amazon.com/sqs" rel="nofollow">Amazon's SQS</a>.</p></div></div><h3 id="AWS-SQS-BatchConsumer">Batch Consumer</h3><p>This component implements the <a shape="rect" href="batch-consumer.html">Batch Consumer</a>.</p><p>This allows you for instance to know how many messages exists in this batch and for instance let the <a shape="rect" href="aggregator.html">Aggregator</a> aggregate this number of messages.</p><h3 id="AWS-SQS-Usage">Usage</h3><h4 id="AWS-SQS-MessageheaderssetbytheSQSproducer">Message headers set by the SQS producer</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th ><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th >colspan="1" rowspan="1" >class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" >rowspan="1" >class="confluenceTd"><p><code>CamelAwsSqsMD5OfBody</code></p></td><td >colspan="1" rowspan="1" >class="confluenceTd"><p><code>String</code></p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p>The MD5 checksum of the Amazon SQS >message.</p></td></tr><tr><td colspan="1" rowspan="1" >class="confluenceTd"><p><code>CamelAwsSqsMessageId</code></p></td><td >colspan="1" rowspan="1" >class="confluenceTd"><p><code>String</code></p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p>The Amazon SQS message >ID.</p></td></tr><tr><td colspan="1" rowspan="1" >class="confluenceTd"><p><code>CamelAwsSqsDelaySeconds</code></p></td><td >colspan="1" rowspan="1" >class="confluenceTd"><p><code>Integer</code></p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p>Since <strong>Camel 2.11</strong>, the >delay seconds that the A mazon SQS message can be see by others.</p></td></tr></tbody></table></div><h4 id="AWS-SQS-MessageheaderssetbytheSQSconsumer">Message headers set by the SQS consumer</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsMD5OfBody</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The MD5 checksum of the Amazon SQS message.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsMessageId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message ID.</p></td> </tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsReceiptHandle</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message receipt handle.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsAttributes</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Map<String, String></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message attributes.</p></td></tr></tbody></table></div><h4 id="AWS-SQS-AdvancedAmazonSQSconfiguration">Advanced AmazonSQS configuration</h4><p>If your Camel Application is running behind a firewall or if you need to have more control over the AmazonSQS instance configuration, you can create your own instance:</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[AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey"); ClientConfiguration clientConfiguration = new ClientConfiguration(); 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 Dec 16 14:22:06 2015 @@ -268,7 +268,7 @@ AMQPConnectionDetails amqpConnection() { <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> <h2 id="BookComponentAppendix-SQSComponent">SQS Component</h2><p><strong>Available as of Camel 2.6</strong></p><p>The sqs component supports sending and receiving messages to <a shape="rect" class="external-link" href="http://aws.amazon.com/sqs" rel="nofollow">Amazon's SQS</a> service.</p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Prerequisites</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>You must have a valid Amazon Web Services developer account, and be signed up to use Amazon SQS. More information are available at <a shape="rect" class="external-link " href="http://aws.amazon.com/sqs" rel="nofollow">Amazon SQS</a>.</p></div></div><h3 id="BookComponentAppendix-URIFormat">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[aws-sqs://queue-name[?options] ]]></script> -</div></div><p>The queue will be created if they don't already exists.<br clear="none"> You can append query options to the URI in the following format, ?options=value&option2=value&...</p><h3 id="BookComponentAppendix-URIOptions">URI Options</h3><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>Context</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>amazonSQSClient</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Reference to a <code>com.amazonaws.services.sqs.AmazonSQS</code> in the <a shape="rect" href="registry.html">Regist ry</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>accessKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Amazon AWS Access Key</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>secretKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Amazon AWS Secret Key</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>amazonSQSEndpoint</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The region with which the AWS-SQS client wants to work with. Only works if Camel crea tes the AWS-SQS client, i.e., if you explicitly set amazonSQSClient, then this setting will have no effect. You would have to set it on the client you create directly</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>attributeNames</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A list of attributes to set in the <code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">concurrentConsumers</td><td colspan="1" rowspan="1" class="confluenceTd">1</td><td colspan="1" rowspan="1" class="confluenceTd">Consumer</td><td colspan="1" rowspan="1" class="confluenceTd">(<strong>as of 2.15.0</strong>) Allows you to use multiple threads to poll the sqs queue to increase throughput</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>de faultVisibilityTimeout</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The visibility timeout (in seconds) to set in the <code>com.amazonaws.services.sqs.model.CreateQueueRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deleteAfterRead</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Delete message from SQS after it has been read (and processed by the route)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deleteIfFiltered</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenc eTd"><p><strong>Camel 2.12.2,2.13.0</strong> Whether or not to send the DeleteMessage to the SQS queue if an exchange fails to get through a filter. If 'false' and exchange does not make it through a Camel filter upstream in the route, then don't send DeleteMessage.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>maxMessagesPerPoll</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of messages which can be received in one poll to set in the <code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>visibilityTimeout</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd "><p>The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>. This only make sense if its different from <code>defaultVisibilityTimeout</code>. It changes the queue visibility timeout attribute permanently.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>messageVisibilityTimeout</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the <code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>. It does <strong>NOT</strong> change the queue visibi lity timeout attribute permanently.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>extendMessageVisibility</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> If enabled then a scheduled background task will keep extending the message visibility on SQS. This is needed if it taks a long time to process the message. If set to true <code>defaultVisibilityTimeout</code> must be set. See details at <a shape="rect" class="external-link" href="http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/APIReference/Query_QueryChangeMessageVisibility.html" rel="nofollow">Amazon docs</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>maximumMessageSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1 " class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The maximumMessageSize (in bytes) an SQS message can contain for this queue, to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>messageRetentionPeriod</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue, to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>policy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd" ><p>Shared</p></td><td colspan="1" rowspan="1" >class="confluenceTd"><p><strong>Camel 2.8:</strong> The policy for this queue >to set in the ><code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td > colspan="1" rowspan="1" class="confluenceTd"><p>delaySeconds</p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.3:</strong> >Delay sending messages for a number of seconds.</p></td></tr><tr><td >colspan="1" rowspan="1" class="confluenceTd"><p>waitTimeSeconds</p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> >Duration in seconds (0 to 20) that the ReceiveMessage action call will wait >until a message is in th e queue to include in the response.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>receiveMessageWaitTimeSeconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>queueOwnerAWSAccountId</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong> Specify the queue owner aws account id when you need to connect the queue with different account owner.</p></td></tr><tr><td colspan="1" rowspan="1" class="conflu enceTd"><p>region</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12.3:</strong> Specify the queue region which could be used with <code>queueOwnerAWSAccountId</code> to build the service URL.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>redrivePolicy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd">Shared</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.15</strong>: Specify the policy that send message to DeadLetter queue. See detail at <a shape="rect" class="external-link" href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues-redrivepolicy.html" rel="nofollow">Amazon docs</a>.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>proxyHost< /p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd">Shared</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16</strong>: Specify a proxy host to be used inside the client definition.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>proxyPort</p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd">Shared</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16</strong>: Specify a proxy port to be used inside the client definition.</td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Required SQS component options</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>You have to provide the amazonSQSClient in the <a sh ape="rect" href="registry.html">Registry</a> or your accessKey and secretKey to access the <a shape="rect" class="external-link" href="http://aws.amazon.com/sqs" rel="nofollow">Amazon's SQS</a>.</p></div></div><h3 id="BookComponentAppendix-BatchConsumer">Batch Consumer</h3><p>This component implements the <a shape="rect" href="batch-consumer.html">Batch Consumer</a>.</p><p>This allows you for instance to know how many messages exists in this batch and for instance let the <a shape="rect" href="aggregator.html">Aggregator</a> aggregate this number of messages.</p><h3 id="BookComponentAppendix-Usage.1">Usage</h3><h4 id="BookComponentAppendix-MessageheaderssetbytheSQSproducer">Message headers set by the SQS producer</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th> </tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsMD5OfBody</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The MD5 checksum of the Amazon SQS message.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsMessageId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message ID.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsDelaySeconds</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Integer</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Since <strong>Camel 2.11</strong>, the delay seconds that the Amazon SQS message can be see by others.</p></td></tr></tbody></table></div><h4 id="BookComponentAppendix-MessageheaderssetbytheSQSconsumer ">Message headers set by the SQS consumer</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsMD5OfBody</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The MD5 checksum of the Amazon SQS message.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsMessageId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message ID.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsReceiptHandle</code></p></td><td colspan="1" r owspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message receipt handle.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsAttributes</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Map<String, String></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message attributes.</p></td></tr></tbody></table></div><h4 id="BookComponentAppendix-AdvancedAmazonSQSconfiguration">Advanced AmazonSQS configuration</h4><p>If your Camel Application is running behind a firewall or if you need to have more control over the AmazonSQS instance configuration, you can create your own instance:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div><p>The queue will be created if they don't already exists.<br clear="none"> You can append query options to the URI in the following format, ?options=value&option2=value&...</p><h3 id="BookComponentAppendix-URIOptions">URI Options</h3><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>Context</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>amazonSQSClient</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Reference to a <code>com.amazonaws.services.sqs.AmazonSQS</code> in the <a shape="rect" href="registry.html">Regist ry</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>accessKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Amazon AWS Access Key</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>secretKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Amazon AWS Secret Key</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>amazonSQSEndpoint</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The region with which the AWS-SQS client wants to work with. Only works if Camel crea tes the AWS-SQS client, i.e., if you explicitly set amazonSQSClient, then this setting will have no effect. You would have to set it on the client you create directly</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>attributeNames</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A list of attributes to set in the <code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>concurrentConsumers</p></td><td colspan="1" rowspan="1" class="confluenceTd">1</td><td colspan="1" rowspan="1" class="confluenceTd">Consumer</td><td colspan="1" rowspan="1" class="confluenceTd">(<strong>as of 2.15.0</strong>) Allows you to use multiple threads to poll the sqs queue to increase throughput</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd "><p>defaultVisibilityTimeout</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The visibility timeout (in seconds) to set in the <code>com.amazonaws.services.sqs.model.CreateQueueRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deleteAfterRead</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Delete message from SQS after it has been read (and processed by the route)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deleteIfFiltered</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="co nfluenceTd"><p><strong>Camel 2.12.2,2.13.0</strong> Whether or not to send the DeleteMessage to the SQS queue if an exchange fails to get through a filter. If 'false' and exchange does not make it through a Camel filter upstream in the route, then don't send DeleteMessage.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>maxMessagesPerPoll</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of messages which can be received in one poll to set in the <code>com.amazonaws.services.sqs.model.ReceiveMessageRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>visibilityTimeout</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confl uenceTd"><p>The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request. This only make sense if its different from <code>defaultVisibilityTimeout</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>extendMessageVisibility</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> If enabled a scheduled background task will keep extending the message visibility on SQS. This is needed if it takes a long time to process the message. If set to true<code> visibilityTimeout</code> must be set. See details at <a shape="rect" class="external-link" href="http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/APIReference/Query_QueryChangeMessageVisibility.html" rel="nofollow">Amazon docs</a>.</p>< /td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>maximumMessageSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The maximumMessageSize (in bytes) an SQS message can contain for this queue, to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>messageRetentionPeriod</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue, to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr>< tr><td colspan="1" rowspan="1" class="confluenceTd"><p>policy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The policy for this queue to set in the <code>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>delaySeconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9.3:</strong> Delay sending messages for a number of seconds.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>waitTimeSeconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Pr oducer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>receiveMessageWaitTimeSeconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11:</strong> If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>queueOwnerAWSAccountId</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd "><p><strong>Camel 2.12:</strong> Specify the queue owner aws account id when you need to connect the queue with different account owner.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>region</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12.3:</strong> Specify the queue region which could be used with <code>queueOwnerAWSAccountId</code> to build the service URL.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>redrivePolicy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd">Shared</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.15</strong>: Specify the policy that send message to DeadLetter queue. See detail at <a shape="rect" class="external-link" href="http://docs.aws.ama zon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues-redrivepolicy.html" rel="nofollow">Amazon docs</a>.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>proxyHost</p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd">Shared</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16</strong>: Specify a proxy host to be used inside the client definition.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>proxyPort</p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd">Shared</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16</strong>: Specify a proxy port to be used inside the client definition.</td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Required SQS component options</p><sp an class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>You have to provide the amazonSQSClient in the <a shape="rect" href="registry.html">Registry</a> or your accessKey and secretKey to access the <a shape="rect" class="external-link" href="http://aws.amazon.com/sqs" rel="nofollow">Amazon's SQS</a>.</p></div></div><h3 id="BookComponentAppendix-BatchConsumer">Batch Consumer</h3><p>This component implements the <a shape="rect" href="batch-consumer.html">Batch Consumer</a>.</p><p>This allows you for instance to know how many messages exists in this batch and for instance let the <a shape="rect" href="aggregator.html">Aggregator</a> aggregate this number of messages.</p><h3 id="BookComponentAppendix-Usage.1">Usage</h3><h4 id="BookComponentAppendix-MessageheaderssetbytheSQSproducer">Message headers set by the SQS producer</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th cols pan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsMD5OfBody</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The MD5 checksum of the Amazon SQS message.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsMessageId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message ID.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsDelaySeconds</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Integer</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Since <strong>Camel 2.11</strong>, the delay seconds that the Amazon SQS message can be see by others.</p></td></tr></tbody></table></div><h4 id="BookComponentAppendix-MessageheaderssetbytheSQSconsumer">Message headers set by the SQS consumer</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsMD5OfBody</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The MD5 checksum of the Amazon SQS message.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsMessageId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message ID.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsReceiptHandle</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message receipt handle.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsSqsAttributes</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Map<String, String></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Amazon SQS message attributes.</p></td></tr></tbody></table></div><h4 id="BookComponentAppendix-AdvancedAmazonSQSconfiguration">Advanced AmazonSQS configuration</h4><p>If your Camel Application is running behind a firewall or if you need to have more control over the AmazonSQS instance configuration, you can create your own instance:</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[AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey"); ClientConfiguration clientConfiguration = new ClientConfiguration(); @@ -1110,11 +1110,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.rbtoc1449472746567 {padding: 0px;} -div.rbtoc1449472746567 ul {list-style: disc;margin-left: 0px;} -div.rbtoc1449472746567 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1450275526855 {padding: 0px;} +div.rbtoc1450275526855 ul {list-style: disc;margin-left: 0px;} +div.rbtoc1450275526855 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style></p><div class="toc-macro rbtoc1449472746567"> +/*]]>*/</style></p><div class="toc-macro rbtoc1450275526855"> <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> @@ -8445,7 +8445,9 @@ greeting=Bye <!-- blueprint property placeholders, that will use etc/stuff.cfg as the properties file --> <cm:property-placeholder persistent-id="stuff" update-strategy="reload"> <cm:default-properties> - <cm:property name="destination" value="to-be-replaced" /> + <cm:property name="greeting" value="Hello" /> + <cm:property name="echo" value="Hey" /> + <cm:property name="destination" value="mock:original" /> </cm:default-properties> </cm:property-placeholder> @@ -8472,8 +8474,8 @@ greeting=Bye </div></div>And in the unit test class we do as follows:<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[ /** - * This example will load a Blueprint .cfdg file, and also override its property placeholders from this unit test - * source code directly. + * This example will load a Blueprint .cfg file (which will initialize configadmin), and also override its property + * placeholders from this unit test source code directly (the change will reload blueprint container). */ public class ConfigAdminLoadConfigurationFileAndOverrideTest extends CamelBlueprintTestSupport { @@ -8500,7 +8502,11 @@ public class ConfigAdminLoadConfiguratio @Test public void testConfigAdmin() throws Exception { - // regular unit test method + // mock:original comes from <cm:default-properties>/<cm:property name="destination" value="mock:original" /> + getMockEndpoint("mock:original").setExpectedMessageCount(0); + // mock:result comes from loadConfigAdminConfigurationFile() + getMockEndpoint("mock:result").setExpectedMessageCount(0); + // mock:extra comes from useOverridePropertiesWithConfigAdmin() getMockEndpoint("mock:extra").expectedBodiesReceived("Bye World", "Yay Bye WorldYay Bye World"); template.sendBody("direct:start", "World");