Author: bibryam
Date: Thu Nov 15 23:09:11 2012
New Revision: 1410099
URL: http://svn.apache.org/viewvc?rev=1410099&view=rev
Log:
Update aws library to 1.3.25
Introduced two new options for SQS consumer to enable long polling:
waitTimeSeconds and receiveMessageWaitTimeSeconds
Modified:
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConsumer.java
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentConfigurationTest.java
camel/trunk/components/camel-aws/src/test/resources/org/apache/camel/component/aws/sqs/SqsComponentSpringTest-context.xml
camel/trunk/parent/pom.xml
Modified:
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java?rev=1410099&r1=1410098&r2=1410099&view=diff
==============================================================================
---
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
(original)
+++
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
Thu Nov 15 23:09:11 2012
@@ -37,6 +37,7 @@ public class SqsConfiguration {
private Boolean deleteAfterRead = Boolean.TRUE;
private Integer visibilityTimeout;
private Collection<String> attributeNames;
+ private Integer waitTimeSeconds;
private Integer defaultVisibilityTimeout;
private Boolean extendMessageVisibility = Boolean.FALSE;
@@ -46,6 +47,7 @@ public class SqsConfiguration {
// queue properties
private Integer maximumMessageSize;
private Integer messageRetentionPeriod;
+ private Integer receiveMessageWaitTimeSeconds;
private String policy;
public void setAmazonSQSEndpoint(String amazonSQSEndpoint) {
@@ -160,6 +162,22 @@ public class SqsConfiguration {
this.extendMessageVisibility = extendMessageVisibility;
}
+ public Integer getReceiveMessageWaitTimeSeconds() {
+ return receiveMessageWaitTimeSeconds;
+ }
+
+ public void setReceiveMessageWaitTimeSeconds(Integer
receiveMessageWaitTimeSeconds) {
+ this.receiveMessageWaitTimeSeconds = receiveMessageWaitTimeSeconds;
+ }
+
+ public Integer getWaitTimeSeconds() {
+ return waitTimeSeconds;
+ }
+
+ public void setWaitTimeSeconds(Integer waitTimeSeconds) {
+ this.waitTimeSeconds = waitTimeSeconds;
+ }
+
@Override
public String toString() {
return "SqsConfiguration[queueName=" + queueName
@@ -169,9 +187,11 @@ public class SqsConfiguration {
+ ", deleteAfterRead=" + deleteAfterRead
+ ", visibilityTimeout=" + visibilityTimeout
+ ", attributeNames=" + attributeNames
+ + ", waitTimeSeconds=" + waitTimeSeconds
+ ", defaultVisibilityTimeout=" + defaultVisibilityTimeout
+ ", maximumMessageSize=" + maximumMessageSize
+ ", messageRetentionPeriod=" + messageRetentionPeriod
+ + ", receiveMessageWaitTimeSeconds=" +
receiveMessageWaitTimeSeconds
+ ", delaySeconds=" + delaySeconds
+ ", policy=" + policy
+ ", extendMessageVisibility=" + extendMessageVisibility
Modified:
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConsumer.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConsumer.java?rev=1410099&r1=1410098&r2=1410099&view=diff
==============================================================================
---
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConsumer.java
(original)
+++
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConsumer.java
Thu Nov 15 23:09:11 2012
@@ -69,7 +69,8 @@ public class SqsConsumer extends Schedul
request.setMaxNumberOfMessages(getMaxMessagesPerPoll() > 0 ?
getMaxMessagesPerPoll() : null);
request.setVisibilityTimeout(getConfiguration().getVisibilityTimeout()
!= null ? getConfiguration().getVisibilityTimeout() : null);
request.setAttributeNames(getConfiguration().getAttributeNames() !=
null ? getConfiguration().getAttributeNames() : null);
-
+ request.setWaitTimeSeconds(getConfiguration().getWaitTimeSeconds() !=
null ? getConfiguration().getWaitTimeSeconds() : null);
+
LOG.trace("Receiving messages with request [{}]...", request);
ReceiveMessageResult messageResult =
getClient().receiveMessage(request);
Modified:
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java?rev=1410099&r1=1410098&r2=1410099&view=diff
==============================================================================
---
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
(original)
+++
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
Thu Nov 15 23:09:11 2012
@@ -110,7 +110,10 @@ public class SqsEndpoint extends Schedul
}
if (getConfiguration().getPolicy() != null) {
request.getAttributes().put(QueueAttributeName.Policy.name(),
String.valueOf(getConfiguration().getPolicy()));
- }
+ }
+ if (getConfiguration().getReceiveMessageWaitTimeSeconds() != null) {
+
request.getAttributes().put(QueueAttributeName.ReceiveMessageWaitTimeSeconds.name(),
String.valueOf(getConfiguration().getReceiveMessageWaitTimeSeconds()));
+ }
LOG.trace("Creating queue [{}] with request [{}]...",
configuration.getQueueName(), request);
CreateQueueResult queueResult = client.createQueue(request);
@@ -134,7 +137,9 @@ public class SqsEndpoint extends Schedul
if (getConfiguration().getPolicy() != null) {
request.getAttributes().put(QueueAttributeName.Policy.name(),
String.valueOf(getConfiguration().getPolicy()));
}
-
+ if (getConfiguration().getReceiveMessageWaitTimeSeconds() != null) {
+
request.getAttributes().put(QueueAttributeName.ReceiveMessageWaitTimeSeconds.name(),
String.valueOf(getConfiguration().getReceiveMessageWaitTimeSeconds()));
+ }
if (!request.getAttributes().isEmpty()) {
LOG.trace("Updating queue '{}' with the provided queue
attributes...", configuration.getQueueName());
client.setQueueAttributes(request);
Modified:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentConfigurationTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentConfigurationTest.java?rev=1410099&r1=1410098&r2=1410099&view=diff
==============================================================================
---
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentConfigurationTest.java
(original)
+++
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentConfigurationTest.java
Thu Nov 15 23:09:11 2012
@@ -79,7 +79,7 @@ public class SqsComponentConfigurationTe
+
"&DefaultVisibilityTimeout=1000&visibilityTimeout=2000&maximumMessageSize=65536&messageRetentionPeriod=1209600&policy="
+
"%7B%22Version%22%3A%222008-10-17%22%2C%22Id%22%3A%22%2F195004372649%2FMyQueue%2FSQSDefaultPolicy%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22Queue1ReceiveMessage%22%2C%22"
+
"Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22*%22%7D%2C%22Action%22%3A%22SQS%3AReceiveMessage%22%2C%22Resource%22%3A%22%2F195004372649%2FMyQueue%22%7D%5D%7D"
- + "&delaySeconds=123");
+ +
"&delaySeconds=123&receiveMessageWaitTimeSeconds=10&waitTimeSeconds=20");
assertEquals("MyQueue", endpoint.getConfiguration().getQueueName());
assertEquals("xxx", endpoint.getConfiguration().getAccessKey());
@@ -95,6 +95,8 @@ public class SqsComponentConfigurationTe
+
"{\"AWS\":\"*\"},\"Action\":\"SQS:ReceiveMessage\",\"Resource\":\"/195004372649/MyQueue\"}]}",
endpoint.getConfiguration().getPolicy());
assertEquals(new Integer(123),
endpoint.getConfiguration().getDelaySeconds());
+ assertEquals(Integer.valueOf(10),
endpoint.getConfiguration().getReceiveMessageWaitTimeSeconds());
+ assertEquals(Integer.valueOf(20),
endpoint.getConfiguration().getWaitTimeSeconds());
}
@Test
Modified:
camel/trunk/components/camel-aws/src/test/resources/org/apache/camel/component/aws/sqs/SqsComponentSpringTest-context.xml
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/test/resources/org/apache/camel/component/aws/sqs/SqsComponentSpringTest-context.xml?rev=1410099&r1=1410098&r2=1410099&view=diff
==============================================================================
---
camel/trunk/components/camel-aws/src/test/resources/org/apache/camel/component/aws/sqs/SqsComponentSpringTest-context.xml
(original)
+++
camel/trunk/components/camel-aws/src/test/resources/org/apache/camel/component/aws/sqs/SqsComponentSpringTest-context.xml
Thu Nov 15 23:09:11 2012
@@ -23,11 +23,11 @@
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:start"/>
- <to
uri="aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient&messageRetentionPeriod=1209600&maximumMessageSize=65536&policy="/>
+ <to
uri="aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient&messageRetentionPeriod=1209600&maximumMessageSize=65536&receiveMessageWaitTimeSeconds=20&policy="/>
</route>
<route>
- <from
uri="aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient&messageRetentionPeriod=1209600&maximumMessageSize=65536&policy="/>
+ <from
uri="aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient&messageRetentionPeriod=1209600&maximumMessageSize=65536&receiveMessageWaitTimeSeconds=20&policy="/>
<to uri="mock:result"/>
</route>
</camelContext>
Modified: camel/trunk/parent/pom.xml
URL:
http://svn.apache.org/viewvc/camel/trunk/parent/pom.xml?rev=1410099&r1=1410098&r2=1410099&view=diff
==============================================================================
--- camel/trunk/parent/pom.xml (original)
+++ camel/trunk/parent/pom.xml Thu Nov 15 23:09:11 2012
@@ -56,7 +56,7 @@
<avro-version>1.6.2</avro-version>
<avro-bundle-version>1.6.1_1</avro-bundle-version>
<aws-java-sdk-bundle-version>1.3.14_1</aws-java-sdk-bundle-version>
- <aws-java-sdk-version>1.3.14</aws-java-sdk-version>
+ <aws-java-sdk-version>1.3.25</aws-java-sdk-version>
<axiom-version>1.2.12</axiom-version>
<bcel-bundle-version>5.2_4</bcel-bundle-version>
<bcpg-jdk16-bundle-version>1.46_2</bcpg-jdk16-bundle-version>