Example usage for com.amazonaws.services.sqs AmazonSQS getQueueAttributes

List of usage examples for com.amazonaws.services.sqs AmazonSQS getQueueAttributes

Introduction

In this page you can find the example usage for com.amazonaws.services.sqs AmazonSQS getQueueAttributes.

Prototype

GetQueueAttributesResult getQueueAttributes(GetQueueAttributesRequest getQueueAttributesRequest);

Source Link

Document

Gets attributes for the specified queue.

Usage

From source file:aws.example.sqs.DeadLetterQueues.java

License:Open Source License

public static void main(String[] args) {
    if (args.length != 2) {
        System.out.println("Usage: DeadLetterQueues <src_queue_name> <dl_queue_name>");
        System.exit(1);// w w w .  j a va 2s .c o m
    }

    String src_queue_name = args[0];
    String dl_queue_name = args[1];

    final AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient();

    // Create source queue
    try {
        sqs.createQueue(src_queue_name);
    } catch (AmazonSQSException e) {
        if (!e.getErrorCode().equals("QueueAlreadyExists")) {
            throw e;
        }
    }

    // Create dead-letter queue
    try {
        sqs.createQueue(dl_queue_name);
    } catch (AmazonSQSException e) {
        if (!e.getErrorCode().equals("QueueAlreadyExists")) {
            throw e;
        }
    }

    // Get dead-letter queue ARN
    String dl_queue_url = sqs.getQueueUrl(dl_queue_name).getQueueUrl();

    GetQueueAttributesResult queue_attrs = sqs
            .getQueueAttributes(new GetQueueAttributesRequest(dl_queue_url).withAttributeNames("QueueArn"));

    String dl_queue_arn = queue_attrs.getAttributes().get("QueueArn");

    // Set dead letter queue with redrive policy on source queue.
    String src_queue_url = sqs.getQueueUrl(src_queue_name).getQueueUrl();

    SetQueueAttributesRequest request = new SetQueueAttributesRequest().withQueueUrl(src_queue_url)
            .addAttributesEntry("RedrivePolicy",
                    "{\"maxReceiveCount\":\"5\", \"deadLetterTargetArn\":\"" + dl_queue_arn + "\"}");

    sqs.setQueueAttributes(request);
}

From source file:cloudworker.RemoteWorker.java

License:Apache License

public static int getQueueSize(AmazonSQS sqs, String queueUrl) {
    HashMap<String, String> attributes;

    Collection<String> attributeNames = new ArrayList<String>();
    attributeNames.add("ApproximateNumberOfMessages");

    GetQueueAttributesRequest getAttributesRequest = new GetQueueAttributesRequest(queueUrl)
            .withAttributeNames(attributeNames);
    attributes = (HashMap<String, String>) sqs.getQueueAttributes(getAttributesRequest).getAttributes();

    return Integer.valueOf(attributes.get("ApproximateNumberOfMessages"));
}

From source file:com.easarrive.aws.plugins.common.service.impl.SQSService.java

License:Open Source License

@Override
public Map<String, String> getQueueAllAttributes(AmazonSQS client, String queueUrl) {
    GetQueueAttributesRequest getQueueAttributesRequest = new GetQueueAttributesRequest(queueUrl);
    getQueueAttributesRequest.withAttributeNames(Constant.SQS.Attribute.ALL);
    GetQueueAttributesResult result = client.getQueueAttributes(getQueueAttributesRequest);
    return result.getAttributes();
}

From source file:com.easarrive.aws.plugins.common.service.impl.SQSService.java

License:Open Source License

@Override
public Long getQueueDelaySeconds(AmazonSQS client, String queueUrl) {
    GetQueueAttributesRequest getQueueAttributesRequest = new GetQueueAttributesRequest(queueUrl);
    getQueueAttributesRequest.withAttributeNames(Constant.SQS.Attribute.DELAY_SECONDS);
    GetQueueAttributesResult result = client.getQueueAttributes(getQueueAttributesRequest);
    if (result == null) {
        return null;
    }/*from w ww . ja v a 2 s  . c o m*/
    Map<String, String> attributeMap = result.getAttributes();
    if (attributeMap == null) {
        return null;
    }
    String value = attributeMap.get(Constant.SQS.Attribute.DELAY_SECONDS);
    if (StringUtil.isEmpty(value)) {
        return null;
    }
    if (!value.matches("^\\d+$")) {
        return null;
    }
    return Long.valueOf(value);
}

From source file:com.easarrive.aws.plugins.common.service.impl.SQSService.java

License:Open Source License

@Override
public Long getQueueMessageRetentionPeriod(AmazonSQS client, String queueUrl) {
    GetQueueAttributesRequest getQueueAttributesRequest = new GetQueueAttributesRequest(queueUrl);
    getQueueAttributesRequest.withAttributeNames(Constant.SQS.Attribute.MESSAGE_RETENTION_PERIOD);
    GetQueueAttributesResult result = client.getQueueAttributes(getQueueAttributesRequest);
    if (result == null) {
        return null;
    }//  ww  w . ja v a  2s .c om
    Map<String, String> attributeMap = result.getAttributes();
    if (attributeMap == null) {
        return null;
    }
    String value = attributeMap.get(Constant.SQS.Attribute.MESSAGE_RETENTION_PERIOD);
    if (StringUtil.isEmpty(value)) {
        return null;
    }
    if (!value.matches("^\\d+$")) {
        return null;
    }
    return Long.valueOf(value);
}

From source file:com.easarrive.aws.plugins.common.service.impl.SQSService.java

License:Open Source License

@Override
public Long getQueueMaximumMessageSize(AmazonSQS client, String queueUrl) {
    GetQueueAttributesRequest getQueueAttributesRequest = new GetQueueAttributesRequest(queueUrl);
    getQueueAttributesRequest.withAttributeNames(Constant.SQS.Attribute.MAXIMUM_MESSAGE_SIZE);
    GetQueueAttributesResult result = client.getQueueAttributes(getQueueAttributesRequest);
    if (result == null) {
        return null;
    }//from w w w. j av  a2s  .c o m
    Map<String, String> attributeMap = result.getAttributes();
    if (attributeMap == null) {
        return null;
    }
    String value = attributeMap.get(Constant.SQS.Attribute.MAXIMUM_MESSAGE_SIZE);
    if (StringUtil.isEmpty(value)) {
        return null;
    }
    if (!value.matches("^\\d+$")) {
        return null;
    }
    return Long.valueOf(value);
}

From source file:com.easarrive.aws.plugins.common.service.impl.SQSService.java

License:Open Source License

@Override
public Long getQueueReceiveMessageWaitTimeSeconds(AmazonSQS client, String queueUrl) {
    GetQueueAttributesRequest getQueueAttributesRequest = new GetQueueAttributesRequest(queueUrl);
    getQueueAttributesRequest.withAttributeNames(Constant.SQS.Attribute.RECEIVE_MESSAGE_WAIT_TIME_SECONDS);
    GetQueueAttributesResult result = client.getQueueAttributes(getQueueAttributesRequest);
    if (result == null) {
        return null;
    }//  w w  w.j av a2s .  c o  m
    Map<String, String> attributeMap = result.getAttributes();
    if (attributeMap == null) {
        return null;
    }
    String value = attributeMap.get(Constant.SQS.Attribute.RECEIVE_MESSAGE_WAIT_TIME_SECONDS);
    if (StringUtil.isEmpty(value)) {
        return null;
    }
    if (!value.matches("^\\d+$")) {
        return null;
    }
    return Long.valueOf(value);
}

From source file:com.easarrive.aws.plugins.common.service.impl.SQSService.java

License:Open Source License

@Override
public Long getQueueLastModifiedTimestamp(AmazonSQS client, String queueUrl) {
    GetQueueAttributesRequest getQueueAttributesRequest = new GetQueueAttributesRequest(queueUrl);
    getQueueAttributesRequest.withAttributeNames(Constant.SQS.Attribute.LAST_MODIFIED_TIMESTAMP);
    GetQueueAttributesResult result = client.getQueueAttributes(getQueueAttributesRequest);
    if (result == null) {
        return null;
    }// w w  w.  j a  v a  2  s  .  c om
    Map<String, String> attributeMap = result.getAttributes();
    if (attributeMap == null) {
        return null;
    }
    String value = attributeMap.get(Constant.SQS.Attribute.LAST_MODIFIED_TIMESTAMP);
    if (StringUtil.isEmpty(value)) {
        return null;
    }
    if (!value.matches("^\\d+$")) {
        return null;
    }
    return Long.valueOf(value);
}

From source file:com.easarrive.aws.plugins.common.service.impl.SQSService.java

License:Open Source License

@Override
public Long getQueueCreatedTimestamp(AmazonSQS client, String queueUrl) {
    GetQueueAttributesRequest getQueueAttributesRequest = new GetQueueAttributesRequest(queueUrl);
    getQueueAttributesRequest.withAttributeNames(Constant.SQS.Attribute.CREATED_TIMESTAMP);
    GetQueueAttributesResult result = client.getQueueAttributes(getQueueAttributesRequest);
    if (result == null) {
        return null;
    }/*from w ww .j  a  v  a2 s  .  c o  m*/
    Map<String, String> attributeMap = result.getAttributes();
    if (attributeMap == null) {
        return null;
    }
    String value = attributeMap.get(Constant.SQS.Attribute.CREATED_TIMESTAMP);
    if (StringUtil.isEmpty(value)) {
        return null;
    }
    if (!value.matches("^\\d+$")) {
        return null;
    }
    return Long.valueOf(value);
}

From source file:com.easarrive.aws.plugins.common.service.impl.SQSService.java

License:Open Source License

@Override
public Long getQueueVisibilityTimeout(AmazonSQS client, String queueUrl) {
    GetQueueAttributesRequest getQueueAttributesRequest = new GetQueueAttributesRequest(queueUrl);
    getQueueAttributesRequest.withAttributeNames(Constant.SQS.Attribute.VISIBILITY_TIMEOUT);
    GetQueueAttributesResult result = client.getQueueAttributes(getQueueAttributesRequest);
    if (result == null) {
        return null;
    }/*from  w  w w.j a v a  2  s.  co  m*/
    Map<String, String> attributeMap = result.getAttributes();
    if (attributeMap == null) {
        return null;
    }
    String value = attributeMap.get(Constant.SQS.Attribute.VISIBILITY_TIMEOUT);
    if (StringUtil.isEmpty(value)) {
        return null;
    }
    if (!value.matches("^\\d+$")) {
        return null;
    }
    return Long.valueOf(value);
}