public static enum MessageQueuePolicy.ThrottlerType extends Enum<MessageQueuePolicy.ThrottlerType>
Enum Constant and Description |
---|
BUFFER_INTERVAL
The queue is throttled to a full output buffer every interval.
|
BYTES_PER_SECOND
The queue is throttled on a 'bytes per second' basis.
|
MESSAGE_INTERVAL
The client is throttled on a 'message interval' basis.
|
MESSAGES_PER_SECOND
The queue is throttled on a 'messages per second' basis.
|
UNTHROTTLED
The queue is not throttled.
|
Modifier and Type | Method and Description |
---|---|
static MessageQueuePolicy.ThrottlerType |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static MessageQueuePolicy.ThrottlerType[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final MessageQueuePolicy.ThrottlerType UNTHROTTLED
public static final MessageQueuePolicy.ThrottlerType MESSAGES_PER_SECOND
The throttler will restrict the maximum number of messages per second that can be sent to the client. The throttling limit controls the number of messages per second.
public static final MessageQueuePolicy.ThrottlerType BYTES_PER_SECOND
The throttler will restrict the maximum number of bytes per second that can be sent to the client. The throttling limit controls the number of bytes per second.
public static final MessageQueuePolicy.ThrottlerType MESSAGE_INTERVAL
This means that messages are sent out with a fixed interval between them. e.g. one message every 5 seconds. The throttling limit controls the period between messages measured in milliseconds (so 5000 for one message every 5 seconds).
This type of throttling can lead to a significant backlog of messages on the queue therefore it is recommended that it is only used along with conflation in order to minimise the queue size.
public static final MessageQueuePolicy.ThrottlerType BUFFER_INTERVAL
This means that the number of bytes that fill a full buffer are output every period (specified in milliseconds). The number of bytes is therefore determined by the size of the output buffer specified by the client connector. The throttling limit controls the period between messages measured in milliseconds (so 5000 for one message every 5 seconds).
Note that output buffers are filled from the queue until no more messages can be added in which case, depending upon message sizes the average rate per second would be less than the actual buffer size. When buffers are not filled, the throttler may allow several sends in the specified interval until more than the buffer size has been sent, in which case more than the buffer size could be sent in a single interval.
public static MessageQueuePolicy.ThrottlerType[] values()
for (MessageQueuePolicy.ThrottlerType c : MessageQueuePolicy.ThrottlerType.values()) System.out.println(c);
public static MessageQueuePolicy.ThrottlerType valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullCopyright © 2016 Push Technology Ltd. All Rights Reserved.