/** * Simplified method form for invoking the CreateQueue operation. * * @see #createQueueAsync(CreateQueueRequest) */ @Override public java.util.concurrent.Future<CreateQueueResult> createQueueAsync(String queueName) { return createQueueAsync(new CreateQueueRequest().withQueueName(queueName)); }
@Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getQueueName() == null) ? 0 : getQueueName().hashCode()); hashCode = prime * hashCode + ((getAttributes() == null) ? 0 : getAttributes().hashCode()); return hashCode; }
/** * Constructs a new CreateQueueRequest object. Callers should use the setter or fluent setter (with...) methods to * initialize any additional object members. * * @param queueName * The name of the new queue. The following limits apply to this name:</p> * <ul> * <li> * <p> * A queue name can have up to 80 characters. * </p> * </li> * <li> * <p> * Valid values: alphanumeric characters, hyphens (<code>-</code>), and underscores (<code>_</code>). * </p> * </li> * <li> * <p> * A FIFO queue name must end with the <code>.fifo</code> suffix. * </p> * </li> * </ul> * <p> * Queue URLs and names are case-sensitive. */ public CreateQueueRequest(String queueName) { setQueueName(queueName); }
public static String createQueue( final AmazonSQSClient sqs, final String queueName, final LegacyQueueFig fig ) throws Exception { final String deadletterQueueName = String.format( "%s_dead", queueName ); final Map<String, String> deadLetterAttributes = new HashMap<>( 2 ); deadLetterAttributes.put( "MessageRetentionPeriod", fig.getDeadletterRetentionPeriod() ); CreateQueueRequest createDeadLetterQueueRequest = new CreateQueueRequest().withQueueName( deadletterQueueName ).withAttributes( deadLetterAttributes ); final CreateQueueResult deadletterResult = sqs.createQueue( createDeadLetterQueueRequest ); logger.info( "Created deadletter queue with url {}", deadletterResult.getQueueUrl() ); final String deadletterArn = AmazonNotificationUtils.getQueueArnByName( sqs, deadletterQueueName ); String redrivePolicy = String .format( "{\"maxReceiveCount\":\"%s\"," + " \"deadLetterTargetArn\":\"%s\"}", fig.getQueueDeliveryLimit(), deadletterArn ); final String visibilityTimeoutInSeconds = String.valueOf(Math.max(1, fig.getVisibilityTimeout() / 1000)); final Map<String, String> queueAttributes = new HashMap<>( 2 ); queueAttributes.put( "MessageRetentionPeriod", fig.getRetentionPeriod() ); queueAttributes.put( "RedrivePolicy", redrivePolicy ); queueAttributes.put( "VisibilityTimeout", visibilityTimeoutInSeconds ); CreateQueueRequest createQueueRequest = new CreateQueueRequest(). withQueueName( queueName ) .withAttributes( queueAttributes ); CreateQueueResult result = sqs.createQueue( createQueueRequest ); String url = result.getQueueUrl(); logger.info( "Created SQS queue with url {}", url ); return url; }
@Override public CreateQueueResult createQueue(String queueName) throws AmazonServiceException, AmazonClientException { return createQueue(new CreateQueueRequest(queueName)); }
CreateQueueRequest create_request = new CreateQueueRequest() .withQueueName(queue_name) .addAttributesEntry("ReceiveMessageWaitTimeSeconds", "20");
CreateQueueRequest createQueueRequest = new CreateQueueRequest(); createQueueRequest.setQueueName(queueName); return createQueue(createQueueRequest);
private String queryQueueUrl(String queueName) { try { return _sqs.getQueueUrl(new GetQueueUrlRequest(queueName)).getQueueUrl(); } catch (QueueDoesNotExistException e) { // Create the queue int visibilityTimeout = queueName.equals(_pendingScanRangeQueue) ? DEFAULT_TASK_CLAIM_VISIBILITY_TIMEOUT : DEFAULT_TASK_COMPLETE_VISIBILITY_TIMEOUT; return _sqs.createQueue( new CreateQueueRequest(queueName) .withAttributes(ImmutableMap.<String, String>of( "VisibilityTimeout", String.valueOf(visibilityTimeout))) ).getQueueUrl(); } }
CreateQueueRequest create_request = new CreateQueueRequest(QUEUE_NAME) .addAttributesEntry("DelaySeconds", "60") .addAttributesEntry("MessageRetentionPeriod", "86400");
CreateQueueRequest createQueueRequest = new CreateQueueRequest(queueNamePrefix + i); Map<String, String> attributes = new HashMap<String, String>(); createQueueRequest.setAttributes(attributes); CreateQueueResult createQueueResponse = sqs.createQueue(createQueueRequest);
private Callable<Boolean> getCreateQueueTask(CreateQueueRequest createQueueRequest) { return () -> { try { LOG.info("Executing create queue operation: {}", createQueueRequest.getQueueName()); sqs.createQueue(createQueueRequest); } catch (AmazonSQSException e) { if (!e.getErrorCode().equals("QueueAlreadyExists")) { throw e; } } return true; }; }
@Override public Future<CreateQueueResult> createQueueAsync(String queueName, AsyncHandler<CreateQueueRequest, CreateQueueResult> asyncHandler) { return createQueueAsync(new CreateQueueRequest(queueName), asyncHandler); }
private static CreateQueueRequest getCreateQueueRequest(String queueName) { return new CreateQueueRequest() .withQueueName(queueName) .addAttributesEntry(QueueAttributeName.VisibilityTimeout.toString(), "3600") .addAttributesEntry(QueueAttributeName.ReceiveMessageWaitTimeSeconds.toString(), "20"); } }
public String createQueue(String name){ CreateQueueRequest request=new CreateQueueRequest(); request.setQueueName(name); CreateQueueResult res= sqsClient.createQueue(request); return res.getQueueUrl(); }
private String ensureQueueExists(String queueName, Map<String, String> attributes) { final AmazonSQS sqsClient = getSQSClient(); try { return sqsClient.createQueue(new CreateQueueRequest(queueName).withAttributes(attributes)).getQueueUrl(); } catch (QueueNameExistsException e) { final String queueUrl = sqsClient.getQueueUrl(queueName).getQueueUrl(); sqsClient.setQueueAttributes(new SetQueueAttributesRequest(queueUrl, attributes)); return queueUrl; } }
@Test @SuppressWarnings("unchecked") public void testSqsMessageHandlerWithAutoQueueCreate() { Message<String> message = MessageBuilder.withPayload("message").build(); this.sqsMessageHandlerWithAutoQueueCreate.setQueue("foo"); this.sqsSendChannelWithAutoCreate.send(message); ArgumentCaptor<CreateQueueRequest> createQueueRequestArgumentCaptor = ArgumentCaptor.forClass(CreateQueueRequest.class); verify(this.amazonSqs).createQueue(createQueueRequestArgumentCaptor.capture()); assertThat(createQueueRequestArgumentCaptor.getValue().getQueueName()).isEqualTo("foo"); ArgumentCaptor<SendMessageRequest> sendMessageRequestArgumentCaptor = ArgumentCaptor.forClass(SendMessageRequest.class); verify(this.amazonSqs) .sendMessageAsync(sendMessageRequestArgumentCaptor.capture(), any(AsyncHandler.class)); assertThat(sendMessageRequestArgumentCaptor.getValue().getQueueUrl()) .isEqualTo("http://queue-url.com/foo"); }
/** * Simplified method form for invoking the CreateQueue operation with an AsyncHandler. * * @see #createQueueAsync(CreateQueueRequest, com.amazonaws.handlers.AsyncHandler) */ @Override public java.util.concurrent.Future<CreateQueueResult> createQueueAsync(String queueName, com.amazonaws.handlers.AsyncHandler<CreateQueueRequest, CreateQueueResult> asyncHandler) { return createQueueAsync(new CreateQueueRequest().withQueueName(queueName), asyncHandler); }
@Override public Future<CreateQueueResult> createQueueAsync(String queueName) { return createQueueAsync(new CreateQueueRequest(queueName)); }
CreateQueueRequest createQueueRequest = new CreateQueueRequest(); createQueueRequest.setQueueName(queueName); return createQueue(createQueueRequest);
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateQueueRequest == false) return false; CreateQueueRequest other = (CreateQueueRequest) obj; if (other.getQueueName() == null ^ this.getQueueName() == null) return false; if (other.getQueueName() != null && other.getQueueName().equals(this.getQueueName()) == false) return false; if (other.getAttributes() == null ^ this.getAttributes() == null) return false; if (other.getAttributes() != null && other.getAttributes().equals(this.getAttributes()) == false) return false; return true; }