You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2013/01/11 09:28:20 UTC
svn commit: r1431934 - in /camel/branches/camel-2.10.x: ./
components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java
components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentConfigurationTest.java
Author: ningjiang
Date: Fri Jan 11 08:28:20 2013
New Revision: 1431934
URL: http://svn.apache.org/viewvc?rev=1431934&view=rev
Log:
CAMEL-5944 - Setting extendMessageVisibility on an SQS consumer
Merged revisions 1431813 via svnmerge from
https://svn.apache.org/repos/asf/camel/trunk
........
r1431813 | tjsnell | 2013-01-11 10:20:42 +0800 (Fri, 11 Jan 2013) | 1 line
CAMEL-5944 - Setting extendMessageVisibility on an SQS consumer
........
Modified:
camel/branches/camel-2.10.x/ (props changed)
camel/branches/camel-2.10.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java
camel/branches/camel-2.10.x/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentConfigurationTest.java
Propchange: camel/branches/camel-2.10.x/
------------------------------------------------------------------------------
Merged /camel/trunk:r1431813
Propchange: camel/branches/camel-2.10.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: camel/branches/camel-2.10.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java?rev=1431934&r1=1431933&r2=1431934&view=diff
==============================================================================
--- camel/branches/camel-2.10.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java (original)
+++ camel/branches/camel-2.10.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java Fri Jan 11 08:28:20 2013
@@ -48,7 +48,12 @@ public class SqsComponent extends Defaul
if (configuration.getAmazonSQSClient() == null && (configuration.getAccessKey() == null || configuration.getSecretKey() == null)) {
throw new IllegalArgumentException("AmazonSQSClient or accessKey and secretKey must be specified.");
}
-
+
+ // Verify that visibilityTimeout is set if extendMessageVisibility is set to true.
+ if (configuration.isExtendMessageVisibility() && (configuration.getVisibilityTimeout() == null)) {
+ throw new IllegalArgumentException("Extending message visibilty (extendMessageVisibility) requires visibilityTimeout to be set on the Endpoint.");
+ }
+
SqsEndpoint sqsEndpoint = new SqsEndpoint(uri, this, configuration);
sqsEndpoint.setConsumerProperties(parameters);
return sqsEndpoint;
Modified: camel/branches/camel-2.10.x/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentConfigurationTest.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentConfigurationTest.java?rev=1431934&r1=1431933&r2=1431934&view=diff
==============================================================================
--- camel/branches/camel-2.10.x/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentConfigurationTest.java (original)
+++ camel/branches/camel-2.10.x/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsComponentConfigurationTest.java Fri Jan 11 08:28:20 2013
@@ -119,4 +119,23 @@ public class SqsComponentConfigurationTe
SqsComponent component = new SqsComponent(context);
component.createEndpoint("aws-sqs://MyQueue?accessKey=xxx");
}
+
+ // Setting extendMessageVisibility on an SQS consumer should make visibilityTimeout compulsory
+ @Test(expected = IllegalArgumentException.class)
+ public void createEndpointWithExtendMessageVisibilityAndNoVisibilityTimeoutThrowsException() throws Exception {
+ SqsComponent component = new SqsComponent(context);
+ component.createEndpoint("aws-sqs://MyQueue?accessKey=xxx&secretKey=yyy&extendMessageVisibility=true");
+ }
+
+ @Test
+ public void createEndpointWithExtendMessageVisibilityTrueAndVisibilityTimeoutSet() throws Exception {
+ SqsComponent component = new SqsComponent(context);
+ assertNotNull(component.createEndpoint("aws-sqs://MyQueue?accessKey=xxx&secretKey=yyy&visibilityTimeout=30&extendMessageVisibility=true"));
+ }
+
+ @Test
+ public void createEndpointWithExtendMessageVisibilityFalseAndVisibilityTimeoutSet() throws Exception {
+ SqsComponent component = new SqsComponent(context);
+ assertNotNull(component.createEndpoint("aws-sqs://MyQueue?accessKey=xxx&secretKey=yyy&visibilityTimeout=30&extendMessageVisibility=false"));
+ }
}
\ No newline at end of file