Repository: camel Updated Branches: refs/heads/master 945b46fff -> 5151cc5d9
CAMEL-8942: aws-sqs - Make it easier to configure http proxy Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/5151cc5d Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/5151cc5d Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/5151cc5d Branch: refs/heads/master Commit: 5151cc5d95d59e21f14f4ed3d4fe3867d9817dcf Parents: 945b46f Author: Andrea Cosentino <anco...@gmail.com> Authored: Fri Jul 31 17:35:57 2015 +0200 Committer: Andrea Cosentino <anco...@gmail.com> Committed: Fri Jul 31 17:38:08 2015 +0200 ---------------------------------------------------------------------- .../component/aws/sqs/SqsConfiguration.java | 28 ++++++++++++++++++++ .../camel/component/aws/sqs/SqsEndpoint.java | 12 ++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/5151cc5d/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java ---------------------------------------------------------------------- diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java index 6450dd6..d0b051c 100644 --- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java +++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java @@ -42,6 +42,10 @@ public class SqsConfiguration { private String queueOwnerAWSAccountId; @UriParam private String region; + @UriParam + private String proxyHost; + @UriParam + private Integer proxyPort; // consumer properties @UriParam(label = "consumer", defaultValue = "true") @@ -331,6 +335,28 @@ public class SqsConfiguration { this.concurrentConsumers = concurrentConsumers; } + /** + * To define a proxy host when instantiating the SQS client + */ + public String getProxyHost() { + return proxyHost; + } + + public void setProxyHost(String proxyHost) { + this.proxyHost = proxyHost; + } + + /** + * To define a proxy port when instantiating the SQS client + */ + public Integer getProxyPort() { + return proxyPort; + } + + public void setProxyPort(Integer proxyPort) { + this.proxyPort = proxyPort; + } + @Override public String toString() { return "SqsConfiguration[queueName=" + queueName @@ -354,6 +380,8 @@ public class SqsConfiguration { + ", queueOwnerAWSAccountId=" + queueOwnerAWSAccountId + ", concurrentConsumers=" + concurrentConsumers + ", region=" + region + + ", proxyHost=" + proxyHost + + ", proxyPort=" + proxyPort + "]"; } } http://git-wip-us.apache.org/repos/asf/camel/blob/5151cc5d/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java index bfcfc60..f2f55c9 100644 --- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java +++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java @@ -19,6 +19,7 @@ package org.apache.camel.component.aws.sqs; import java.util.HashMap; import java.util.Map.Entry; +import com.amazonaws.ClientConfiguration; import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.services.sqs.AmazonSQS; @@ -31,6 +32,7 @@ import com.amazonaws.services.sqs.model.ListQueuesResult; import com.amazonaws.services.sqs.model.MessageAttributeValue; import com.amazonaws.services.sqs.model.QueueAttributeName; import com.amazonaws.services.sqs.model.SetQueueAttributesRequest; + import org.apache.camel.Consumer; import org.apache.camel.Exchange; import org.apache.camel.ExchangePattern; @@ -262,8 +264,16 @@ public class SqsEndpoint extends ScheduledPollEndpoint implements HeaderFilterSt * @return AmazonSQSClient */ AmazonSQS createClient() { + AmazonSQS client = null; AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey()); - AmazonSQS client = new AmazonSQSClient(credentials); + if (ObjectHelper.isNotEmpty(configuration.getProxyHost()) && ObjectHelper.isNotEmpty(configuration.getProxyPort())) { + ClientConfiguration clientConfiguration = new ClientConfiguration(); + clientConfiguration.setProxyHost(configuration.getProxyHost()); + clientConfiguration.setProxyPort(configuration.getProxyPort()); + client = new AmazonSQSClient(credentials, clientConfiguration); + } else { + client = new AmazonSQSClient(credentials); + } return client; }