Class BatchReceivePolicy
- java.lang.Object
-
- org.apache.pulsar.client.api.BatchReceivePolicy
-
- All Implemented Interfaces:
java.io.Serializable
@Public @Stable public class BatchReceivePolicy extends java.lang.Object implements java.io.Serializable
Configuration for message batch receiveConsumer.batchReceive()
Consumer.batchReceiveAsync()
.Batch receive policy can limit the number and bytes of messages in a single batch, and can specify a timeout for waiting for enough messages for this batch.
This batch receive will be completed as long as any one of the conditions(has enough number of messages, has enough of size of messages, wait timeout) is met.
Examples: 1.If set maxNumMessages = 10, maxSizeOfMessages = 1MB and without timeout, it means
Consumer.batchReceive()
will always wait until there is enough messages. 2.If set maxNumberOfMessages = 0, maxNumBytes = 0 and timeout = 100ms, it meansConsumer.batchReceive()
will waiting for 100ms whether or not there is enough messages.Note: Must specify messages limitation(maxNumMessages, maxNumBytes) or wait timeout. Otherwise,
Messages
ingestMessage
will never end.- Since:
- 2.4.1
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BatchReceivePolicy.Builder
Builder of BatchReceivePolicy.
-
Field Summary
Fields Modifier and Type Field Description static BatchReceivePolicy
DEFAULT_POLICY
Default batch receive policy.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static BatchReceivePolicy.Builder
builder()
int
getMaxNumBytes()
int
getMaxNumMessages()
long
getTimeoutMs()
java.lang.String
toString()
void
verify()
-
-
-
Field Detail
-
DEFAULT_POLICY
public static final BatchReceivePolicy DEFAULT_POLICY
Default batch receive policy.Max number of messages: no limit Max number of bytes: 10MB Timeout: 100ms
-
-
Method Detail
-
verify
public void verify()
-
getTimeoutMs
public long getTimeoutMs()
-
getMaxNumMessages
public int getMaxNumMessages()
-
getMaxNumBytes
public int getMaxNumBytes()
-
builder
public static BatchReceivePolicy.Builder builder()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-