public class QueueBufferConfig
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private static boolean |
LONG_POLL_DEFAULT
true
|
private boolean |
longPoll
Should we use long polling or not?
|
static int |
LONGPOLL_WAIT_TIMEOUT_SECONDS_DEFAULT |
private int |
longPollWaitTimeoutSeconds
Specifies the amount of time, in seconds, the receive call will block on the server waiting
for messages to arrive if the queue is empty when the receive call is first made.
|
static long |
MAX_BATCH_OPEN_MS_DEFAULT
200 milliseconds
|
static long |
MAX_BATCH_SIZE_BYTES_DEFAULT
256 kilobytes
|
static int |
MAX_BATCH_SIZE_DEFAULT |
static int |
MAX_DONE_RECEIVE_BATCHES_DEFAULT
10 batches
|
static int |
MAX_INFLIGHT_OUTBOUND_BATCHES_DEFAULT
5 batches
|
static int |
MAX_INFLIGHT_RECEIVE_BATCHES_DEFAULT
10 batches
|
private long |
maxBatchOpenMs
The maximum time (milliseconds) a send batch is held open for additional outbound requests.
|
private int |
maxBatchSize
the maximum number of entries in a batch command
|
private long |
maxBatchSizeBytes
Maximum permitted size of a SendMessage or SendMessageBatch message, in bytes
|
private int |
maxDoneReceiveBatches
If more than that number of completed receive batches are waiting in the buffer, the querying
for new messages will stop.
|
private int |
maxInflightOutboundBatches
The maximum number of concurrent batches for each type of outbound request.
|
private int |
maxInflightReceiveBatches
The maximum number of concurrent receive message batches.
|
static long |
SERVICE_MAX_BATCH_SIZE_BYTES
Updated as the service now supports messages of size max 256 KiB.
|
static int |
VISIBILITY_TIMEOUT_SECONDS_DEFAULT
-1, which means use the visibility timeout of the queue
|
private int |
visibilityTimeoutSeconds
Custom visibility timeout to use when retrieving messages from SQS.
|
Constructor and Description |
---|
QueueBufferConfig() |
QueueBufferConfig(long maxBatchOpenMs,
int maxInflightOutboundBatches,
int maxInflightReceiveBatches,
int maxDoneReceiveBatches,
boolean paramLongPoll,
long maxBatchSizeBytes,
int visibilityTimeout,
int longPollTimeout,
int maxBatch) |
QueueBufferConfig(QueueBufferConfig other)
copy constructor
|
Modifier and Type | Method and Description |
---|---|
int |
getLongPollWaitTimeoutSeconds()
Specifies the amount of time, in seconds, the receive call will block on the server waiting
for messages to arrive if the queue is empty when the receive call is first made.
|
long |
getMaxBatchOpenMs()
The maximum time (milliseconds) a send batch is held open for additional outbound requests.
|
int |
getMaxBatchSize()
Specifies the maximum number of entries the buffered client will put in a single batch
request.
|
long |
getMaxBatchSizeBytes()
Maximum permitted size of a SendMessage or SendMessageBatch message, in bytes.
|
int |
getMaxDoneReceiveBatches()
If more than that number of completed receive batches are waiting in the buffer, the querying
for new messages will stop.
The larger this number, the more messages the queue buffer will pre-fetch and keep in the buffer on the client side, and the faster receive requests will be satisfied. |
int |
getMaxInflightOutboundBatches()
The maximum number of concurrent batches for each type of outbound request.
|
int |
getMaxInflightReceiveBatches()
The maximum number of concurrent receive message batches.
|
int |
getVisibilityTimeoutSeconds()
Custom visibility timeout to use when retrieving messages from SQS.
|
boolean |
isLongPoll() |
void |
setLongPoll(boolean longPoll)
Specify "true" for receive requests to use long polling.
|
void |
setLongPollWaitTimeoutSeconds(int longPollWaitTimeoutSeconds)
Specifies the amount of time, in seconds, the receive call will block on the server waiting
for messages to arrive if the queue is empty when the receive call is first made.
|
void |
setMaxBatchOpenMs(long maxBatchOpenMs)
The maximum time (milliseconds) a send batch is held open for additional outbound requests.
|
void |
setMaxBatchSize(int maxBatchSize)
Specifies the maximum number of entries the buffered client will put in a single batch
request.
|
void |
setMaxBatchSizeBytes(long maxBatchSizeBytes)
Maximum permitted size of a SendMessage or SendMessageBatch message, in bytes.
|
void |
setMaxDoneReceiveBatches(int maxDoneReceiveBatches)
If more than that number of completed receive batches are waiting in the buffer, the querying
for new messages will stop.
|
void |
setMaxInflightOutboundBatches(int maxInflightOutboundBatches)
The maximum number of concurrent batches for each type of outbound request.
|
void |
setMaxInflightReceiveBatches(int maxInflightReceiveBatches)
The maximum number of concurrent receive message batches.
|
void |
setVisibilityTimeoutSeconds(int visibilityTimeoutSeconds)
Custom visibility timeout to use when retrieving messages from SQS.
|
java.lang.String |
toString() |
(package private) void |
validate()
this method checks the config for validity.
|
QueueBufferConfig |
withLongPoll(boolean longPoll)
Specify "true" for receive requests to use long polling.
|
QueueBufferConfig |
withLongPollWaitTimeoutSeconds(int longPollWaitTimeoutSeconds)
Specifies the amount of time, in seconds, the receive call will block on the server waiting
for messages to arrive if the queue is empty when the receive call is first made.
|
QueueBufferConfig |
withMaxBatchOpenMs(long maxBatchOpenMs)
The maximum time (milliseconds) a send batch is held open for additional outbound requests.
|
QueueBufferConfig |
withMaxBatchSize(int maxBatchSize)
Specifies the maximum number of entries the buffered client will put in a single batch
request.
|
QueueBufferConfig |
withMaxBatchSizeBytes(long maxBatchSizeBytes)
Maximum permitted size of a SendMessage or SendMessageBatch message, in bytes.
|
QueueBufferConfig |
withMaxDoneReceiveBatches(int maxDoneReceiveBatches)
If more than that number of completed receive batches are waiting in the buffer, the querying
for new messages will stop.
|
QueueBufferConfig |
withMaxInflightOutboundBatches(int maxInflightOutboundBatches)
The maximum number of concurrent batches for each type of outbound request.
|
QueueBufferConfig |
withMaxInflightReceiveBatches(int maxInflightReceiveBatches)
The maximum number of concurrent receive message batches.
|
QueueBufferConfig |
withVisibilityTimeoutSeconds(int visibilityTimeoutSeconds)
Custom visibility timeout to use when retrieving messages from SQS.
|
public static final int MAX_BATCH_SIZE_DEFAULT
private int maxBatchSize
public static final long SERVICE_MAX_BATCH_SIZE_BYTES
private long maxBatchOpenMs
public static final long MAX_BATCH_OPEN_MS_DEFAULT
private boolean longPoll
private static final boolean LONG_POLL_DEFAULT
private int maxInflightOutboundBatches
public static final int MAX_INFLIGHT_OUTBOUND_BATCHES_DEFAULT
private int maxInflightReceiveBatches
public static final int MAX_INFLIGHT_RECEIVE_BATCHES_DEFAULT
private int maxDoneReceiveBatches
public static final int MAX_DONE_RECEIVE_BATCHES_DEFAULT
private long maxBatchSizeBytes
public static final long MAX_BATCH_SIZE_BYTES_DEFAULT
private int visibilityTimeoutSeconds
public static final int VISIBILITY_TIMEOUT_SECONDS_DEFAULT
private int longPollWaitTimeoutSeconds
public static final int LONGPOLL_WAIT_TIMEOUT_SECONDS_DEFAULT
public QueueBufferConfig(long maxBatchOpenMs, int maxInflightOutboundBatches, int maxInflightReceiveBatches, int maxDoneReceiveBatches, boolean paramLongPoll, long maxBatchSizeBytes, int visibilityTimeout, int longPollTimeout, int maxBatch)
public QueueBufferConfig()
public QueueBufferConfig(QueueBufferConfig other)
public java.lang.String toString()
toString
in class java.lang.Object
public long getMaxBatchOpenMs()
public void setMaxBatchOpenMs(long maxBatchOpenMs)
public QueueBufferConfig withMaxBatchOpenMs(long maxBatchOpenMs)
public boolean isLongPoll()
public void setLongPoll(boolean longPoll)
public QueueBufferConfig withLongPoll(boolean longPoll)
public int getMaxInflightOutboundBatches()
public void setMaxInflightOutboundBatches(int maxInflightOutboundBatches)
public QueueBufferConfig withMaxInflightOutboundBatches(int maxInflightOutboundBatches)
public int getMaxInflightReceiveBatches()
public void setMaxInflightReceiveBatches(int maxInflightReceiveBatches)
public QueueBufferConfig withMaxInflightReceiveBatches(int maxInflightReceiveBatches)
public int getMaxDoneReceiveBatches()
public void setMaxDoneReceiveBatches(int maxDoneReceiveBatches)
public QueueBufferConfig withMaxDoneReceiveBatches(int maxDoneReceiveBatches)
public long getMaxBatchSizeBytes()
public void setMaxBatchSizeBytes(long maxBatchSizeBytes)
java.lang.IllegalArgumentException
- if the size being set is greater than the service allowed size for message body.public QueueBufferConfig withMaxBatchSizeBytes(long maxBatchSizeBytes)
java.lang.IllegalArgumentException
- if the size being set is greater than the service allowed size for message body.public int getVisibilityTimeoutSeconds()
public void setVisibilityTimeoutSeconds(int visibilityTimeoutSeconds)
public QueueBufferConfig withVisibilityTimeoutSeconds(int visibilityTimeoutSeconds)
public void setLongPollWaitTimeoutSeconds(int longPollWaitTimeoutSeconds)
public int getLongPollWaitTimeoutSeconds()
public QueueBufferConfig withLongPollWaitTimeoutSeconds(int longPollWaitTimeoutSeconds)
public int getMaxBatchSize()
public void setMaxBatchSize(int maxBatchSize)
public QueueBufferConfig withMaxBatchSize(int maxBatchSize)
void validate()
AmazonClientException
- with a message explaining why the config was invalid