Package org.apache.pulsar.client.impl
Class RoundRobinPartitionMessageRouterImpl
- java.lang.Object
-
- org.apache.pulsar.client.impl.MessageRouterBase
-
- org.apache.pulsar.client.impl.RoundRobinPartitionMessageRouterImpl
-
- All Implemented Interfaces:
java.io.Serializable,org.apache.pulsar.client.api.MessageRouter
public class RoundRobinPartitionMessageRouterImpl extends MessageRouterBase
The routing strategy here:- If a key is present, choose a partition based on a hash of the key.
- If no key is present, choose a partition in a "round-robin" fashion. Batching-Awareness is built-in to improve batching locality.
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.pulsar.client.impl.MessageRouterBase
hash
-
-
Constructor Summary
Constructors Constructor Description RoundRobinPartitionMessageRouterImpl(org.apache.pulsar.client.api.HashingScheme hashingScheme, int startPtnIdx, boolean isBatchingEnabled, long partitionSwitchMs)RoundRobinPartitionMessageRouterImpl(org.apache.pulsar.client.api.HashingScheme hashingScheme, int startPtnIdx, boolean isBatchingEnabled, long partitionSwitchMs, java.time.Clock clock)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intchoosePartition(org.apache.pulsar.client.api.Message<?> msg, org.apache.pulsar.client.api.TopicMetadata topicMetadata)
-
-
-
Constructor Detail
-
RoundRobinPartitionMessageRouterImpl
public RoundRobinPartitionMessageRouterImpl(org.apache.pulsar.client.api.HashingScheme hashingScheme, int startPtnIdx, boolean isBatchingEnabled, long partitionSwitchMs)
-
RoundRobinPartitionMessageRouterImpl
public RoundRobinPartitionMessageRouterImpl(org.apache.pulsar.client.api.HashingScheme hashingScheme, int startPtnIdx, boolean isBatchingEnabled, long partitionSwitchMs, java.time.Clock clock)
-
-