Class Murmur2MessageExtractor<M>
- java.lang.Object
-
- org.apache.pekko.cluster.sharding.typed.ShardingMessageExtractor<ShardingEnvelope<M>,M>
-
- org.apache.pekko.cluster.sharding.typed.Murmur2MessageExtractor<M>
-
public final class Murmur2MessageExtractor<M> extends ShardingMessageExtractor<ShardingEnvelope<M>,M>
The murmur2 message extractor uses the same algorithm as the default kafka partitioner allowing kafka partitions to be mapped to shards. This can be used with thepekko.cluster.sharding.external.ExternalShardAllocationStrategyto have messages processed locally.Extend
Murmur2NoEnvelopeMessageExtractorto not use a message envelope extractor.
-
-
Constructor Summary
Constructors Constructor Description Murmur2MessageExtractor(int numberOfShards)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringentityId(ShardingEnvelope<M> envelope)Extract the entity id from an incomingmessage.intnumberOfShards()java.lang.StringshardId(java.lang.String entityId)The shard identifier for a given entity id.MunwrapMessage(ShardingEnvelope<M> envelope)Extract the message to send to the entity from an incomingmessage.-
Methods inherited from class org.apache.pekko.cluster.sharding.typed.ShardingMessageExtractor
apply, noEnvelope
-
-
-
-
Method Detail
-
entityId
public java.lang.String entityId(ShardingEnvelope<M> envelope)
Description copied from class:ShardingMessageExtractorExtract the entity id from an incomingmessage. Ifnullis returned the message will beunhandled, i.e. posted asUnhandledmessages on the event stream- Specified by:
entityIdin classShardingMessageExtractor<ShardingEnvelope<M>,M>
-
numberOfShards
public int numberOfShards()
-
shardId
public java.lang.String shardId(java.lang.String entityId)
Description copied from class:ShardingMessageExtractorThe shard identifier for a given entity id. Only messages that passed theShardingMessageExtractor.entityId(E)function will be used as input to this function.- Specified by:
shardIdin classShardingMessageExtractor<ShardingEnvelope<M>,M>
-
unwrapMessage
public M unwrapMessage(ShardingEnvelope<M> envelope)
Description copied from class:ShardingMessageExtractorExtract the message to send to the entity from an incomingmessage. Note that the extracted message does not have to be the same as the incoming message to support wrapping in message envelope that is unwrapped before sending to the entity actor.- Specified by:
unwrapMessagein classShardingMessageExtractor<ShardingEnvelope<M>,M>
-
-