Did this page help you?

   Yes   No   Tell us about it...

com.amazonaws.services.sqs.buffered
Class SendQueueBuffer

java.lang.Object
  extended by com.amazonaws.services.sqs.buffered.SendQueueBuffer

public class SendQueueBuffer
extends java.lang.Object

This class is responsible for buffering outgoing SQS requests, i.e. requests to send a message, delete a message and change the visibility of the message.
When a request arrives, the buffer adds the message to a message batch of an appropriate type (creating such a batch if there currently isn't one outstanding). When the outstanding batch becomes full, or when a configurable timeout expires, the buffer makes a call to SQS to execute the current batch.
Internally, the batch objects maintain a list of futures corresponding to the requests added to them. When a batch completes, it loads the results into the futures and marks the futures as complete.


Method Summary
 com.amazonaws.services.sqs.buffered.QueueBufferFuture<ChangeMessageVisibilityRequest,java.lang.Void> changeMessageVisibility(ChangeMessageVisibilityRequest request, com.amazonaws.services.sqs.buffered.QueueBufferCallback<ChangeMessageVisibilityRequest,java.lang.Void> callback)
           
 com.amazonaws.services.sqs.buffered.QueueBufferFuture<DeleteMessageRequest,java.lang.Void> deleteMessage(DeleteMessageRequest request, com.amazonaws.services.sqs.buffered.QueueBufferCallback<DeleteMessageRequest,java.lang.Void> callback)
           
 void flush()
          Flushes all outstanding outbound requests (SendMessage, DeleteMessage, ChangeMessageVisibility) in this buffer.
 QueueBufferConfig getConfig()
           
 com.amazonaws.services.sqs.buffered.QueueBufferFuture<SendMessageRequest,SendMessageResult> sendMessage(SendMessageRequest request, com.amazonaws.services.sqs.buffered.QueueBufferCallback<SendMessageRequest,SendMessageResult> callback)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getConfig

public QueueBufferConfig getConfig()

sendMessage

public com.amazonaws.services.sqs.buffered.QueueBufferFuture<SendMessageRequest,SendMessageResult> sendMessage(SendMessageRequest request,
                                                                                                               com.amazonaws.services.sqs.buffered.QueueBufferCallback<SendMessageRequest,SendMessageResult> callback)
Returns:
never null

deleteMessage

public com.amazonaws.services.sqs.buffered.QueueBufferFuture<DeleteMessageRequest,java.lang.Void> deleteMessage(DeleteMessageRequest request,
                                                                                                                com.amazonaws.services.sqs.buffered.QueueBufferCallback<DeleteMessageRequest,java.lang.Void> callback)
Returns:
never null

changeMessageVisibility

public com.amazonaws.services.sqs.buffered.QueueBufferFuture<ChangeMessageVisibilityRequest,java.lang.Void> changeMessageVisibility(ChangeMessageVisibilityRequest request,
                                                                                                                                    com.amazonaws.services.sqs.buffered.QueueBufferCallback<ChangeMessageVisibilityRequest,java.lang.Void> callback)
Returns:
never null

flush

public void flush()
Flushes all outstanding outbound requests (SendMessage, DeleteMessage, ChangeMessageVisibility) in this buffer.

The call returns successfully when all outstanding outbound requests submitted before the call are completed (i.e. processed by SQS).



Copyright © 2010 Amazon Web Services, Inc. All Rights Reserved.