Class ShardingMessageExtractor<E,​M>

    • Constructor Detail

      • ShardingMessageExtractor

        public ShardingMessageExtractor()
    • Method Detail

      • noEnvelope

        public static <M> ShardingMessageExtractor<M,​M> noEnvelope​(int numberOfShards,
                                                                         M stopMessage,
                                                                         scala.Function1<M,​java.lang.String> extractEntityId)
        Scala API: Create a message extractor for a protocol where the entity id is available in each message.
        Parameters:
        numberOfShards - (undocumented)
        stopMessage - (undocumented)
        extractEntityId - (undocumented)
        Returns:
        (undocumented)
      • entityId

        public abstract java.lang.String entityId​(E message)
      • shardId

        public abstract java.lang.String shardId​(java.lang.String entityId)
        The shard identifier for a given entity id. Only messages that passed the entityId(E) function will be used as input to this function.
        Parameters:
        entityId - (undocumented)
        Returns:
        (undocumented)
      • unwrapMessage

        public abstract M unwrapMessage​(E message)
        Extract the message to send to the entity from an incoming message. 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.
        Parameters:
        message - (undocumented)
        Returns:
        (undocumented)