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 2012/11/01 13:13:53 UTC
svn commit: r1404553 - in /camel/branches/camel-2.10.x: ./
components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConsumer.java
components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsExtendMessageVisibilityTest.java
Author: ningjiang
Date: Thu Nov 1 12:13:52 2012
New Revision: 1404553
URL: http://svn.apache.org/viewvc?rev=1404553&view=rev
Log:
CAMEL-5761 Update SqsConsumer to extend Visibility Timeout correctly with thanks to Carlos
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/SqsConsumer.java
camel/branches/camel-2.10.x/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsExtendMessageVisibilityTest.java
Propchange: camel/branches/camel-2.10.x/
------------------------------------------------------------------------------
Merged /camel/trunk:r1404532
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/SqsConsumer.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/SqsConsumer.java?rev=1404553&r1=1404552&r2=1404553&view=diff
==============================================================================
--- camel/branches/camel-2.10.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConsumer.java (original)
+++ camel/branches/camel-2.10.x/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConsumer.java Thu Nov 1 12:13:52 2012
@@ -113,8 +113,11 @@ public class SqsConsumer extends Schedul
int period = visibilityTimeout.intValue();
LOG.debug("Scheduled TimeoutExtender task to start after {} delay, and run with {} period (seconds) to extend exchangeId: {}",
new Object[]{delay, period, exchange.getExchangeId()});
+ int repeatSeconds = new Double(visibilityTimeout.doubleValue() * 1.5).intValue(); //
+ LOG.debug("period :" + period);
+ LOG.debug("repeatSeconds :" + repeatSeconds);
final ScheduledFuture<?> scheduledFuture = this.scheduledExecutor.scheduleAtFixedRate(
- new TimeoutExtender(exchange, visibilityTimeout), delay, period, TimeUnit.SECONDS);
+ new TimeoutExtender(exchange, repeatSeconds), delay, period, TimeUnit.SECONDS);
exchange.addOnCompletion(new Synchronization() {
@Override
public void onComplete(Exchange exchange) {
@@ -269,4 +272,4 @@ public class SqsConsumer extends Schedul
}
}
-}
\ No newline at end of file
+}
Modified: camel/branches/camel-2.10.x/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsExtendMessageVisibilityTest.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/SqsExtendMessageVisibilityTest.java?rev=1404553&r1=1404552&r2=1404553&view=diff
==============================================================================
--- camel/branches/camel-2.10.x/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsExtendMessageVisibilityTest.java (original)
+++ camel/branches/camel-2.10.x/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/SqsExtendMessageVisibilityTest.java Thu Nov 1 12:13:52 2012
@@ -61,7 +61,8 @@ public class SqsExtendMessageVisibilityT
for (ChangeMessageVisibilityRequest req : this.clientMock.changeMessageVisibilityRequests) {
assertEquals("https://queue.amazonaws.com/541925086079/MyQueue", req.getQueueUrl());
assertEquals(RECEIPT_HANDLE, req.getReceiptHandle());
- assertEquals(new Integer(4), req.getVisibilityTimeout());
+ Integer expectedTimeout = new Integer(6); // Should be 1.5 x TIMEOUT as takes into account the delay period
+ assertEquals(expectedTimeout, req.getVisibilityTimeout());
}
}