You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2015/07/31 17:38:42 UTC

camel git commit: CAMEL-8942: aws-sqs - Make it easier to configure http proxy

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 <an...@gmail.com>
Authored: Fri Jul 31 17:35:57 2015 +0200
Committer: Andrea Cosentino <an...@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;
     }