You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by to...@apache.org on 2015/06/10 00:56:42 UTC

[7/9] incubator-usergrid git commit: Fix for USERGRID-729 for Queue URL vs. ARN

Fix for USERGRID-729 for Queue URL vs. ARN


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/591676bf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/591676bf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/591676bf

Branch: refs/heads/two-dot-o-dev
Commit: 591676bf1eb98c1f47189de0f8bab39d2f0c67d4
Parents: 30a4d36
Author: Jeff West <jw...@apigee.com>
Authored: Sun Jun 7 20:31:01 2015 -0700
Committer: Jeff West <jw...@apigee.com>
Committed: Sun Jun 7 20:31:01 2015 -0700

----------------------------------------------------------------------
 .../queue/impl/SNSQueueManagerImpl.java         | 80 ++++++++++----------
 1 file changed, 41 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/591676bf/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
index e5c0c2a..dc1a5ca 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
@@ -55,46 +55,48 @@ public class SNSQueueManagerImpl implements QueueManager {
     private static SmileFactory smileFactory = new SmileFactory();
 
     private final LoadingCache<String, String> writeTopicArnMap = CacheBuilder.newBuilder()
-        .maximumSize(1000)
-        .build(new CacheLoader<String, String>() {
-            @Override
-            public String load(String queueName)
-                throws Exception {
+            .maximumSize(1000)
+            .build(new CacheLoader<String, String>() {
+                @Override
+                public String load(String queueName)
+                        throws Exception {
 
-                String primaryTopicArn = setupMultiRegion(queueName);
-
-                return primaryTopicArn;
-            }
-        });
-
-    private final LoadingCache<String, Queue> readQueueUrlMap = CacheBuilder.newBuilder()
-        .maximumSize(1000)
-        .build(new CacheLoader<String, Queue>() {
-            @Override
-            public Queue load(String queueName) throws Exception {
-
-                Queue queue = null;
-
-                try {
-                    GetQueueUrlResult result = sqs.getQueueUrl(queueName);
-                    queue = new Queue(result.getQueueUrl());
-                } catch (QueueDoesNotExistException queueDoesNotExistException) {
-                    logger.error("Queue {} does not exist, creating", queueName);
-                } catch (Exception e) {
-                    logger.error("failed to get queue from service", e);
-                    throw e;
-                }
-
-                if (queue == null) {
                     String primaryTopicArn = setupMultiRegion(queueName);
 
-                    String url = AmazonNotificationUtils.getQueueArnByName(queueName, sqs);
-                    queue = new Queue(url);
+                    return primaryTopicArn;
                 }
+            });
 
-                return queue;
-            }
-        });
+    private final LoadingCache<String, Queue> readQueueUrlMap = CacheBuilder.newBuilder()
+            .maximumSize(1000)
+            .build(new CacheLoader<String, Queue>() {
+                @Override
+                public Queue load(String queueName) throws Exception {
+
+                    Queue queue = null;
+
+                    try {
+                        GetQueueUrlResult result = sqs.getQueueUrl(queueName);
+                        queue = new Queue(result.getQueueUrl());
+                    } catch (QueueDoesNotExistException queueDoesNotExistException) {
+                        logger.error("Queue {} does not exist, creating", queueName);
+                    } catch (Exception e) {
+                        logger.error("failed to get queue from service", e);
+                        throw e;
+                    }
+
+                    if (queue == null) {
+                        String url = AmazonNotificationUtils.createQueue(queueName, sqs, fig);
+                        queue = new Queue(url);
+                    }
+
+                    if (fig.isMultiRegion()) {
+                        String primaryTopicArn = setupMultiRegion(queueName);
+                    }
+
+                    return queue;
+                }
+            });
 
 
     @Inject
@@ -116,7 +118,7 @@ public class SNSQueueManagerImpl implements QueueManager {
     }
 
     private String setupMultiRegion(final String queueName)
-        throws Exception {
+            throws Exception {
 
         logger.info("Setting up SNS/SQS...");
 
@@ -322,8 +324,8 @@ public class SNSQueueManagerImpl implements QueueManager {
             logger.debug("Commit message {} to queue {}", queueMessage.getMessageId(), url);
 
         sqs.deleteMessage(new DeleteMessageRequest()
-            .withQueueUrl(url)
-            .withReceiptHandle(queueMessage.getHandle()));
+                .withQueueUrl(url)
+                .withReceiptHandle(queueMessage.getHandle()));
     }
 
 
@@ -357,7 +359,7 @@ public class SNSQueueManagerImpl implements QueueManager {
      */
 
     private Object fromString(final String s, final Class klass)
-        throws IOException, ClassNotFoundException {
+            throws IOException, ClassNotFoundException {
 
         Object o = mapper.readValue(s, klass);
         return o;