private String recreateQueue()

in src/main/java/com/amazonaws/services/sqs/AmazonSQSIdleQueueDeletingClient.java [305:335]


    private String recreateQueue(String queueUrl) {
        // TODO-RS: CW metrics
        QueueMetadata queue = queues.get(queueUrl);
        if (queue != null) {
            LOG.warn("Queue " + queueUrl + " was deleted while it was still in use! Attempting to recreate...");
            try {
                createQueue(new CreateQueueRequest().withQueueName(queue.name)
                        .withAttributes(queue.attributes));
                LOG.info("Queue " + queueUrl + " successfully recreated.");
                return queueUrl;
            } catch (QueueDeletedRecentlyException e) {
                // Ignore, will retry later
                LOG.warn("Queue " + queueUrl + " was recently deleted, cannot create it yet.");
            }
        }

        String alternateQueueUrl = alternateQueueName(queueUrl);
        QueueMetadata metadata = queues.get(alternateQueueUrl);
        if (metadata == null && queue != null) {
            LOG.info("Attempting to create failover queue: " + alternateQueueUrl);
            try {
                createQueue(new CreateQueueRequest().withQueueName(alternateQueueName(queue.name))
                        .withAttributes(queue.attributes));
                LOG.info("Failover queue " + alternateQueueUrl + " successfully created.");
            } catch (QueueDeletedRecentlyException e) {
                // Ignore, will retry later
                LOG.warn("Failover queue " + alternateQueueUrl + " was recently deleted, cannot create it yet.");
            }	
        }
        return alternateQueueUrl;
    }