object ConsistentHashingRouter
- Source
- ConsistentHashing.scala
- Alphabetic
- By Inheritance
- ConsistentHashingRouter
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
trait
ConsistentHashMapper extends AnyRef
JAVA API Mapping from message to the data to use for the consistent hash key.
JAVA API Mapping from message to the data to use for the consistent hash key. Note that it's not the hash that is to be returned, but the data to be hashed.
May return
null
to indicate that the message is not handled by this mapping.If returning an
Array[Byte]
or String it will be used as is, otherwise the configured akka.serialization.Serializer will be applied to the returned data. -
type
ConsistentHashMapping = PartialFunction[Any, Any]
Partial function from message to the data to use for the consistent hash key.
Partial function from message to the data to use for the consistent hash key. Note that it's not the hash that is to be returned, but the data to be hashed.
If returning an
Array[Byte]
or String it will be used as is, otherwise the configured akka.serialization.Serializer will be applied to the returned data. -
trait
ConsistentHashable extends AnyRef
If you don't define the
hashMapping
when constructing the akka.routing.ConsistentHashingRouter the messages need to implement this interface to define what data to use for the consistent hash key.If you don't define the
hashMapping
when constructing the akka.routing.ConsistentHashingRouter the messages need to implement this interface to define what data to use for the consistent hash key. Note that it's not the hash, but the data to be hashed.If returning an
Array[Byte]
or String it will be used as is, otherwise the configured akka.serialization.Serializer will be applied to the returned data.If messages can't implement this interface themselves, it's possible to wrap the messages in akka.routing.ConsistentHashingRouter.ConsistentHashableEnvelope, or use akka.routing.ConsistentHashingRouter.ConsistentHashableEnvelope
-
final
case class
ConsistentHashableEnvelope(message: Any, hashKey: Any) extends ConsistentHashable with RouterEnvelope with Product with Serializable
If you don't define the
hashMapping
when constructing the akka.routing.ConsistentHashingRouter and messages can't implement akka.routing.ConsistentHashingRouter.ConsistentHashable themselves they can we wrapped by this envelope instead.If you don't define the
hashMapping
when constructing the akka.routing.ConsistentHashingRouter and messages can't implement akka.routing.ConsistentHashingRouter.ConsistentHashable themselves they can we wrapped by this envelope instead. The router will only send the wrapped message to the destination, i.e. the envelope will be stripped off.- Annotations
- @SerialVersionUID()
Value Members
-
object
emptyConsistentHashMapping extends ConsistentHashMapping
- Annotations
- @SerialVersionUID()