You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2013/10/11 16:19:19 UTC

svn commit: r882172 - in /websites/production/camel/content: aws-sqs.html book-component-appendix.html book-in-one-page.html cache/main.pageCache

Author: buildbot
Date: Fri Oct 11 14:19:19 2013
New Revision: 882172

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

Modified: websites/production/camel/content/aws-sqs.html
==============================================================================
--- websites/production/camel/content/aws-sqs.html (original)
+++ websites/production/camel/content/aws-sqs.html Fri Oct 11 14:19:19 2013
@@ -103,7 +103,7 @@ You can append query options to the URI 
 
 <h3><a shape="rect" name="AWS-SQS-URIOptions"></a>URI Options</h3>
 <div class="confluenceTableSmall"><div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Context </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">amazonSQSClient </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Reference to a <tt>com.amazonaws.services.sqs.AmazonSQS</tt> in the <a shape="rect" href="registry.html" title="Registry">Registry</a>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">accessKey </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Amazon AWS Access Key </td></tr><tr><td c
 olspan="1" rowspan="1" class="confluenceTd">secretKey </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Amazon AWS Secret Key </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">amazonSQSEndpoint </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> The region with which the AWS-SQS client wants to work with. Only works if Camel creates 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 </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">attributeNames </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td>
 <td colspan="1" rowspan="1" class="confluenceTd"> A list of attributes to set in the <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">defaultVisibilityTimeout </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> The visibility timeout (in seconds) to set in the <tt>com.amazonaws.services.sqs.model.CreateQueueRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">deleteAfterRead </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> Delete message from SQS after it has been read </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">maxMessagesPerPoll</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</t
 t> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> The maximum number of messages which can be received in one poll to set in the <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">visibilityTimeout </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> 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 <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. This only make sense if its different from <tt>defaultVisibilityTimeout</tt>. It changes the queue visibility timeout attribute permanently. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">messageVisibilityTimeout </td
 ><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> 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 <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. It does <b>NOT</b> change the queue visibility timeout attribute permanently. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> extendMessageVisibility </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> 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 <tt>defaultVisibilityT
 imeout</tt> 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>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">maximumMessageSize </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> The maximumMessageSize (in bytes) an SQS message can contain for this queue, to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">messageRetentionPeriod </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> The messageRetentionPeriod 
 (in seconds) a message will be retained by SQS for this queue, to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">policy </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> The policy for this queue to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">delaySeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Producer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9.3:</b> Delay sending messages for a number of seconds. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">waitTimeSeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <t
 t>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Producer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11:</b> 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">receiveMessageWaitTimeSeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11:</b> If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">queueOwnerAWSAccountId </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> Specify the queue owner aws account id when you
  need to connect the queue with different account owner. </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Context </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">amazonSQSClient </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Reference to a <tt>com.amazonaws.services.sqs.AmazonSQS</tt> in the <a shape="rect" href="registry.html" title="Registry">Registry</a>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">accessKey </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Amazon AWS Access Key </td></tr><tr><td c
 olspan="1" rowspan="1" class="confluenceTd">secretKey </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Amazon AWS Secret Key </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">amazonSQSEndpoint </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> The region with which the AWS-SQS client wants to work with. Only works if Camel creates 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 </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">attributeNames </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td>
 <td colspan="1" rowspan="1" class="confluenceTd"> A list of attributes to set in the <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">defaultVisibilityTimeout </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> The visibility timeout (in seconds) to set in the <tt>com.amazonaws.services.sqs.model.CreateQueueRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">deleteAfterRead </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> Delete message from SQS after it has been read </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">deleteIfFiltered </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt
 > </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">maxMessagesPerPoll</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> The maximum number of messages which can be received in one poll to set in the <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">visibilityTimeout </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan=
 "1" class="confluenceTd"> 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 <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. This only make sense if its different from <tt>defaultVisibilityTimeout</tt>. It changes the queue visibility timeout attribute permanently. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">messageVisibilityTimeout </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> 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 <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. It does <b>NOT</b> change the queue visibility timeout attribute permanently. 
 </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> extendMessageVisibility </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> 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 <tt>defaultVisibilityTimeout</tt> 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>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">maximumMessageSize </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Ca
 mel 2.8:</b> The maximumMessageSize (in bytes) an SQS message can contain for this queue, to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">messageRetentionPeriod </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue, to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">policy </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> The policy for this queue to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAt
 tributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">delaySeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Producer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9.3:</b> Delay sending messages for a number of seconds. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">waitTimeSeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Producer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11:</b> 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">receiveMessageWaitTimeSeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </t
 d><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11:</b> If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">queueOwnerAWSAccountId </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> Specify the queue owner aws account id when you need to connect the queue with different account owner. </td></tr></tbody></table>
 </div>
 </div>
 
@@ -165,6 +165,19 @@ from("aws-sqs://MyQueue?amazonSQSClient=
 
 <p>where <tt>${camel-version</tt>} must be replaced by the actual version of Camel (2.6 or higher).</p>
 
+<h3><a shape="rect" name="AWS-SQS-JMSstyleSelectors"></a>JMS-style Selectors </h3>
+<p>SQS does not allow selectors, but you can effectively achieve this by using the <a shape="rect" href="message-filter.html" title="Message Filter">Camel Filter EIP</a> and setting an appropriate <tt>visibilityTimeout</tt>. When SQS dispatches a message, it will wait up to the visibility timeout before it will try to dispatch the message to a different consumer unless a DeleteMessage is received. By default, Camel will always send the DeleteMessage at the end of the route, unless the route ended in failure. To achieve appropriate filtering and not send the DeleteMessage even on successful completion of the route, use a Filter:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+from("aws-sqs://MyQueue?amazonSQSClient=#client&amp;defaultVisibilityTimeout=5000&amp;deleteIfFiltered=false")
+.filter("${header.login} == true")
+.to("mock:result");
+]]></script>
+</div></div>
+
+<p>In the above code, if an exchange doesn't have an appropriate header, it will not make it through the filter AND also not be deleted from the SQS queue. After 5000 miliseconds, the message will become visible to other consumers.</p>
+
 <h3><a shape="rect" name="AWS-SQS-SeeAlso"></a>See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html" title="Configuring Camel">Configuring Camel</a></li><li><a shape="rect" href="component.html" title="Component">Component</a></li><li><a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a></li><li><a shape="rect" href="getting-started.html" title="Getting Started">Getting Started</a></li></ul>
 

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 Fri Oct 11 14:19:19 2013
@@ -440,7 +440,7 @@ You can append query options to the URI 
 
 <h3><a shape="rect" name="BookComponentAppendix-URIOptions"></a>URI Options</h3>
 <div class="confluenceTableSmall"><div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Context </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">amazonSQSClient </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Reference to a <tt>com.amazonaws.services.sqs.AmazonSQS</tt> in the <a shape="rect" href="registry.html" title="Registry">Registry</a>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">accessKey </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Amazon AWS Access Key </td></tr><tr><td c
 olspan="1" rowspan="1" class="confluenceTd">secretKey </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Amazon AWS Secret Key </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">amazonSQSEndpoint </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> The region with which the AWS-SQS client wants to work with. Only works if Camel creates 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 </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">attributeNames </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td>
 <td colspan="1" rowspan="1" class="confluenceTd"> A list of attributes to set in the <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">defaultVisibilityTimeout </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> The visibility timeout (in seconds) to set in the <tt>com.amazonaws.services.sqs.model.CreateQueueRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">deleteAfterRead </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> Delete message from SQS after it has been read </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">maxMessagesPerPoll</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</t
 t> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> The maximum number of messages which can be received in one poll to set in the <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">visibilityTimeout </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> 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 <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. This only make sense if its different from <tt>defaultVisibilityTimeout</tt>. It changes the queue visibility timeout attribute permanently. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">messageVisibilityTimeout </td
 ><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> 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 <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. It does <b>NOT</b> change the queue visibility timeout attribute permanently. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> extendMessageVisibility </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> 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 <tt>defaultVisibilityT
 imeout</tt> 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>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">maximumMessageSize </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> The maximumMessageSize (in bytes) an SQS message can contain for this queue, to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">messageRetentionPeriod </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> The messageRetentionPeriod 
 (in seconds) a message will be retained by SQS for this queue, to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">policy </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> The policy for this queue to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">delaySeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Producer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9.3:</b> Delay sending messages for a number of seconds. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">waitTimeSeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <t
 t>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Producer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11:</b> 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">receiveMessageWaitTimeSeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11:</b> If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">queueOwnerAWSAccountId </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> Specify the queue owner aws account id when you
  need to connect the queue with different account owner. </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Context </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">amazonSQSClient </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Reference to a <tt>com.amazonaws.services.sqs.AmazonSQS</tt> in the <a shape="rect" href="registry.html" title="Registry">Registry</a>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">accessKey </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Amazon AWS Access Key </td></tr><tr><td c
 olspan="1" rowspan="1" class="confluenceTd">secretKey </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Amazon AWS Secret Key </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">amazonSQSEndpoint </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> The region with which the AWS-SQS client wants to work with. Only works if Camel creates 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 </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">attributeNames </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td>
 <td colspan="1" rowspan="1" class="confluenceTd"> A list of attributes to set in the <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">defaultVisibilityTimeout </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> The visibility timeout (in seconds) to set in the <tt>com.amazonaws.services.sqs.model.CreateQueueRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">deleteAfterRead </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> Delete message from SQS after it has been read </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">deleteIfFiltered </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt
 > </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">maxMessagesPerPoll</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> The maximum number of messages which can be received in one poll to set in the <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">visibilityTimeout </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan=
 "1" class="confluenceTd"> 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 <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. This only make sense if its different from <tt>defaultVisibilityTimeout</tt>. It changes the queue visibility timeout attribute permanently. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">messageVisibilityTimeout </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> 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 <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. It does <b>NOT</b> change the queue visibility timeout attribute permanently. 
 </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> extendMessageVisibility </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> 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 <tt>defaultVisibilityTimeout</tt> 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>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">maximumMessageSize </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Ca
 mel 2.8:</b> The maximumMessageSize (in bytes) an SQS message can contain for this queue, to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">messageRetentionPeriod </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue, to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">policy </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> The policy for this queue to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAt
 tributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">delaySeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Producer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9.3:</b> Delay sending messages for a number of seconds. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">waitTimeSeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Producer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11:</b> 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">receiveMessageWaitTimeSeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </t
 d><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11:</b> If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">queueOwnerAWSAccountId </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> Specify the queue owner aws account id when you need to connect the queue with different account owner. </td></tr></tbody></table>
 </div>
 </div>
 
@@ -502,6 +502,19 @@ from("aws-sqs://MyQueue?amazonSQSClient=
 
 <p>where <tt>${camel-version</tt>} must be replaced by the actual version of Camel (2.6 or higher).</p>
 
+<h3><a shape="rect" name="BookComponentAppendix-JMSstyleSelectors"></a>JMS-style Selectors </h3>
+<p>SQS does not allow selectors, but you can effectively achieve this by using the <a shape="rect" href="message-filter.html" title="Message Filter">Camel Filter EIP</a> and setting an appropriate <tt>visibilityTimeout</tt>. When SQS dispatches a message, it will wait up to the visibility timeout before it will try to dispatch the message to a different consumer unless a DeleteMessage is received. By default, Camel will always send the DeleteMessage at the end of the route, unless the route ended in failure. To achieve appropriate filtering and not send the DeleteMessage even on successful completion of the route, use a Filter:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+from("aws-sqs://MyQueue?amazonSQSClient=#client&amp;defaultVisibilityTimeout=5000&amp;deleteIfFiltered=false")
+.filter("${header.login} == true")
+.to("mock:result");
+]]></script>
+</div></div>
+
+<p>In the above code, if an exchange doesn't have an appropriate header, it will not make it through the filter AND also not be deleted from the SQS queue. After 5000 miliseconds, the message will become visible to other consumers.</p>
+
 <h3><a shape="rect" name="BookComponentAppendix-SeeAlso"></a>See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html" title="Configuring Camel">Configuring Camel</a></li><li><a shape="rect" href="component.html" title="Component">Component</a></li><li><a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a></li><li><a shape="rect" href="getting-started.html" title="Getting Started">Getting Started</a></li></ul>
 

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 Fri Oct 11 14:19:19 2013
@@ -21917,7 +21917,7 @@ You can append query options to the URI 
 
 <h3><a shape="rect" name="BookInOnePage-URIOptions"></a>URI Options</h3>
 <div class="confluenceTableSmall"><div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Context </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">amazonSQSClient </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Reference to a <tt>com.amazonaws.services.sqs.AmazonSQS</tt> in the <a shape="rect" href="registry.html" title="Registry">Registry</a>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">accessKey </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Amazon AWS Access Key </td></tr><tr><td c
 olspan="1" rowspan="1" class="confluenceTd">secretKey </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Amazon AWS Secret Key </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">amazonSQSEndpoint </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> The region with which the AWS-SQS client wants to work with. Only works if Camel creates 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 </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">attributeNames </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td>
 <td colspan="1" rowspan="1" class="confluenceTd"> A list of attributes to set in the <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">defaultVisibilityTimeout </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> The visibility timeout (in seconds) to set in the <tt>com.amazonaws.services.sqs.model.CreateQueueRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">deleteAfterRead </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> Delete message from SQS after it has been read </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">maxMessagesPerPoll</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</t
 t> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> The maximum number of messages which can be received in one poll to set in the <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">visibilityTimeout </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> 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 <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. This only make sense if its different from <tt>defaultVisibilityTimeout</tt>. It changes the queue visibility timeout attribute permanently. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">messageVisibilityTimeout </td
 ><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> 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 <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. It does <b>NOT</b> change the queue visibility timeout attribute permanently. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> extendMessageVisibility </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> 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 <tt>defaultVisibilityT
 imeout</tt> 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>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">maximumMessageSize </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> The maximumMessageSize (in bytes) an SQS message can contain for this queue, to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">messageRetentionPeriod </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> The messageRetentionPeriod 
 (in seconds) a message will be retained by SQS for this queue, to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">policy </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> The policy for this queue to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">delaySeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Producer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9.3:</b> Delay sending messages for a number of seconds. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">waitTimeSeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <t
 t>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Producer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11:</b> 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">receiveMessageWaitTimeSeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11:</b> If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">queueOwnerAWSAccountId </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> Specify the queue owner aws account id when you
  need to connect the queue with different account owner. </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"> Name </th><th colspan="1" rowspan="1" class="confluenceTh"> Default Value </th><th colspan="1" rowspan="1" class="confluenceTh"> Context </th><th colspan="1" rowspan="1" class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">amazonSQSClient </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Reference to a <tt>com.amazonaws.services.sqs.AmazonSQS</tt> in the <a shape="rect" href="registry.html" title="Registry">Registry</a>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">accessKey </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Amazon AWS Access Key </td></tr><tr><td c
 olspan="1" rowspan="1" class="confluenceTd">secretKey </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> Amazon AWS Secret Key </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">amazonSQSEndpoint </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> The region with which the AWS-SQS client wants to work with. Only works if Camel creates 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 </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">attributeNames </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td>
 <td colspan="1" rowspan="1" class="confluenceTd"> A list of attributes to set in the <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">defaultVisibilityTimeout </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> The visibility timeout (in seconds) to set in the <tt>com.amazonaws.services.sqs.model.CreateQueueRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">deleteAfterRead </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> Delete message from SQS after it has been read </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">deleteIfFiltered </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>true</tt
 > </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">maxMessagesPerPoll</td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> The maximum number of messages which can be received in one poll to set in the <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">visibilityTimeout </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan=
 "1" class="confluenceTd"> 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 <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. This only make sense if its different from <tt>defaultVisibilityTimeout</tt>. It changes the queue visibility timeout attribute permanently. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">messageVisibilityTimeout </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> 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 <tt>com.amazonaws.services.sqs.model.ReceiveMessageRequest</tt>. It does <b>NOT</b> change the queue visibility timeout attribute permanently. 
 </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> extendMessageVisibility </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>false</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Consumer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.10:</b> 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 <tt>defaultVisibilityTimeout</tt> 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>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">maximumMessageSize </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Ca
 mel 2.8:</b> The maximumMessageSize (in bytes) an SQS message can contain for this queue, to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">messageRetentionPeriod </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue, to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAttributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">policy </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.8:</b> The policy for this queue to set in the <tt>com.amazonaws.services.sqs.model.SetQueueAt
 tributesRequest</tt>. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">delaySeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Producer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.9.3:</b> Delay sending messages for a number of seconds. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">waitTimeSeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Producer </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11:</b> 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. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">receiveMessageWaitTimeSeconds </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>0</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> Shared </t
 d><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.11:</b> If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">queueOwnerAWSAccountId </td><td colspan="1" rowspan="1" class="confluenceTd"> <tt>null</tt> </td><td colspan="1" rowspan="1" class="confluenceTd"> <b>Camel 2.12:</b> Specify the queue owner aws account id when you need to connect the queue with different account owner. </td></tr></tbody></table>
 </div>
 </div>
 
@@ -21979,6 +21979,19 @@ from("aws-sqs://MyQueue?amazonSQSClient=
 
 <p>where <tt>${camel-version</tt>} must be replaced by the actual version of Camel (2.6 or higher).</p>
 
+<h3><a shape="rect" name="BookInOnePage-JMSstyleSelectors"></a>JMS-style Selectors </h3>
+<p>SQS does not allow selectors, but you can effectively achieve this by using the <a shape="rect" href="message-filter.html" title="Message Filter">Camel Filter EIP</a> and setting an appropriate <tt>visibilityTimeout</tt>. When SQS dispatches a message, it will wait up to the visibility timeout before it will try to dispatch the message to a different consumer unless a DeleteMessage is received. By default, Camel will always send the DeleteMessage at the end of the route, unless the route ended in failure. To achieve appropriate filtering and not send the DeleteMessage even on successful completion of the route, use a Filter:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+from("aws-sqs://MyQueue?amazonSQSClient=#client&amp;defaultVisibilityTimeout=5000&amp;deleteIfFiltered=false")
+.filter("${header.login} == true")
+.to("mock:result");
+]]></script>
+</div></div>
+
+<p>In the above code, if an exchange doesn't have an appropriate header, it will not make it through the filter AND also not be deleted from the SQS queue. After 5000 miliseconds, the message will become visible to other consumers.</p>
+
 <h3><a shape="rect" name="BookInOnePage-SeeAlso"></a>See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html" title="Configuring Camel">Configuring Camel</a></li><li><a shape="rect" href="component.html" title="Component">Component</a></li><li><a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a></li><li><a shape="rect" href="getting-started.html" title="Getting Started">Getting Started</a></li></ul>
 

Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.