Example usage for com.amazonaws.services.sqs.model GetQueueAttributesRequest withAttributeNames

List of usage examples for com.amazonaws.services.sqs.model GetQueueAttributesRequest withAttributeNames

Introduction

In this page you can find the example usage for com.amazonaws.services.sqs.model GetQueueAttributesRequest withAttributeNames.

Prototype


public GetQueueAttributesRequest withAttributeNames(QueueAttributeName... attributeNames) 

Source Link

Document

A list of attributes for which to retrieve information.

Usage

From source file:SimpleQueueService.java

License:Open Source License

public static int getNumberOFTasksRunning() {
    // returns the number of amazon tasks running
    AmazonSQSClient sqs = new AmazonSQSClient(new ClasspathPropertiesFileCredentialsProvider());
    CreateQueueRequest createQueueRequest = new CreateQueueRequest("taskQueue");
    String myQueueUrl = sqs.createQueue(createQueueRequest).getQueueUrl();

    GetQueueAttributesRequest request = new GetQueueAttributesRequest();
    request = request.withAttributeNames("ApproximateNumberOfMessages");

    request = request.withQueueUrl(myQueueUrl);

    Map<String, String> attrs = sqs.getQueueAttributes(request).getAttributes();

    // get the approximate number of messages in the queue
    int sizeOfMessages = Integer.parseInt(attrs.get("ApproximateNumberOfMessages"));

    System.out.println("sizeOfMessages " + sizeOfMessages);

    return sizeOfMessages;
}

From source file:com.connexience.server.model.archive.glacier.SetupUtils.java

License:Open Source License

public static SQSInfo setupSQS(String accessKey, String secretKey, String domainName, String vaultName) {
    SQSInfo sqsInfo = null;//from   www  . j a v a2  s .  c  om
    try {
        AWSCredentials awsCredentials = new BasicAWSCredentials(accessKey, secretKey);

        AmazonSQSClient amazonSQSClient = new AmazonSQSClient(awsCredentials);
        amazonSQSClient.setEndpoint("https://sqs." + domainName + ".amazonaws.com/");

        String queueName = vaultName + "-inkspot_glacier-queue";
        CreateQueueRequest createQueueRequest = new CreateQueueRequest();
        createQueueRequest.withQueueName(queueName);

        CreateQueueResult createQueueResult = amazonSQSClient.createQueue(createQueueRequest);
        if (createQueueResult != null) {
            String queueURL = createQueueResult.getQueueUrl();

            GetQueueAttributesRequest getQueueAttributesRequest = new GetQueueAttributesRequest();
            getQueueAttributesRequest.withQueueUrl(queueURL);
            getQueueAttributesRequest.withAttributeNames("QueueArn");

            GetQueueAttributesResult getQueueAttributesResult = amazonSQSClient
                    .getQueueAttributes(getQueueAttributesRequest);

            if (getQueueAttributesResult != null) {
                String queueARN = getQueueAttributesResult.getAttributes().get("QueueArn");

                Statement sqsStatement = new Statement(Effect.Allow);
                sqsStatement.withPrincipals(Principal.AllUsers);
                sqsStatement.withActions(SQSActions.SendMessage);
                sqsStatement.withResources(new Resource(queueARN));

                Policy sqsPolicy = new Policy();
                sqsPolicy.withStatements(sqsStatement);

                Map<String, String> sqsAttributes = new HashMap<>();
                sqsAttributes.put("Policy", sqsPolicy.toJson());

                SetQueueAttributesRequest setQueueAttributesRequest = new SetQueueAttributesRequest();
                setQueueAttributesRequest.withQueueUrl(queueURL);
                setQueueAttributesRequest.withAttributes(sqsAttributes);

                amazonSQSClient.setQueueAttributes(setQueueAttributesRequest);

                sqsInfo = new SQSInfo(queueARN, queueURL);
            } else
                logger.warn("Unable to get queue attributes: \"" + queueName + "\"");
        } else
            logger.warn("Unable to create queue: \"" + queueName + "\"");

        amazonSQSClient.shutdown();
    } catch (AmazonServiceException amazonServiceException) {
        logger.warn("AmazonServiceException: " + amazonServiceException);
        logger.debug(amazonServiceException);
    } catch (IllegalArgumentException illegalArgumentException) {
        logger.warn("IllegalArgumentException: " + illegalArgumentException);
        logger.debug(illegalArgumentException);
    } catch (AmazonClientException amazonClientException) {
        logger.warn("AmazonClientException: " + amazonClientException);
        logger.debug(amazonClientException);
    } catch (Throwable throwable) {
        logger.warn("Throwable: " + throwable);
        logger.debug(throwable);
    }

    return sqsInfo;
}

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   ww  w  .ja v a  2  s.  c om
    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;
    }//from   ww w  .  j  ava  2 s  .  c  o  m
    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;
    }/* 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.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  .java  2s.  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  .  ja va 2s  .co m
    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;
    }/*  w  ww . j  av  a2  s .  c  om*/
    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;
    }// w w w . j av  a 2s  .  c om
    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);
}