object ConsistentHashingRouter
- Alphabetic
- By Inheritance
- ConsistentHashingRouter
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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 pekko.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 pekko.serialization.Serializer will be applied to the returned data. - trait ConsistentHashable extends AnyRef
If you don't define the
hashMapping
when constructing the pekko.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 pekko.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 pekko.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 pekko.routing.ConsistentHashingRouter.ConsistentHashableEnvelope, or use pekko.routing.ConsistentHashingRouter.ConsistentHashableEnvelope
- final case class ConsistentHashableEnvelope(message: Any, hashKey: Any) extends ConsistentHashable with RouterEnvelope with WrappedMessage with Product with Serializable
If you don't define the
hashMapping
when constructing the pekko.routing.ConsistentHashingRouter and messages can't implement pekko.routing.ConsistentHashingRouter.ConsistentHashable themselves they can we wrapped by this envelope instead.If you don't define the
hashMapping
when constructing the pekko.routing.ConsistentHashingRouter and messages can't implement pekko.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
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- object emptyConsistentHashMapping extends ConsistentHashMapping
- Annotations
- @SerialVersionUID()