final case class ConsistentHashingRoutingLogic(system: ActorSystem, virtualNodesFactor: Int = 0, hashMapping: ConsistentHashMapping = ...) extends RoutingLogic with Product with Serializable
Uses consistent hashing to select a routee based on the sent message.
There is 3 ways to define what data to use for the consistent hash key.
1. You can define hashMapping / withHashMapper
of the router to map incoming messages to their consistent hash key.
This makes the decision transparent for the sender.
2. The messages may implement akka.routing.ConsistentHashingRouter.ConsistentHashable. The key is part of the message and it's convenient to define it together with the message definition.
3. The messages can be wrapped in a akka.routing.ConsistentHashingRouter.ConsistentHashableEnvelope to define what data to use for the consistent hash key. The sender knows the key to use.
These ways to define the consistent hash key can be use together and at
the same time for one router. The hashMapping is tried first.
- system
- the actor system hosting this router 
- virtualNodesFactor
- number of virtual nodes per node, used in akka.routing.ConsistentHash 
- hashMapping
- partial function from message to the data to use for the consistent hash key 
- Annotations
- @SerialVersionUID()
- Source
- ConsistentHashing.scala
- Alphabetic
- By Inheritance
- ConsistentHashingRoutingLogic
- Serializable
- Serializable
- Product
- Equals
- RoutingLogic
- NoSerializationVerificationNeeded
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- 
      
      
      
        
      
    
      
        
        new
      
      
        ConsistentHashingRoutingLogic(system: ActorSystem)
      
      
      Java API Java API - system
- the actor system hosting this router 
 
- 
      
      
      
        
      
    
      
        
        new
      
      
        ConsistentHashingRoutingLogic(system: ActorSystem, virtualNodesFactor: Int = 0, hashMapping: ConsistentHashMapping = ...)
      
      
      - system
- the actor system hosting this router 
- virtualNodesFactor
- number of virtual nodes per node, used in akka.routing.ConsistentHash 
- hashMapping
- partial function from message to the data to use for the consistent hash key 
 
Value Members
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        !=(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ##(): Int
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        +(other: String): String
      
      
      - Implicit
- This member is added by an implicit conversion from ConsistentHashingRoutingLogic to any2stringadd[ConsistentHashingRoutingLogic] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        ->[B](y: B): (ConsistentHashingRoutingLogic, B)
      
      
      - Implicit
- This member is added by an implicit conversion from ConsistentHashingRoutingLogic to ArrowAssoc[ConsistentHashingRoutingLogic] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ==(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        asInstanceOf[T0]: T0
      
      
      - Definition Classes
- Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        clone(): AnyRef
      
      
      - Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate() @throws( ... )
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        ensuring(cond: (ConsistentHashingRoutingLogic) ⇒ Boolean, msg: ⇒ Any): ConsistentHashingRoutingLogic
      
      
      - Implicit
- This member is added by an implicit conversion from ConsistentHashingRoutingLogic to Ensuring[ConsistentHashingRoutingLogic] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        ensuring(cond: (ConsistentHashingRoutingLogic) ⇒ Boolean): ConsistentHashingRoutingLogic
      
      
      - Implicit
- This member is added by an implicit conversion from ConsistentHashingRoutingLogic to Ensuring[ConsistentHashingRoutingLogic] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        ensuring(cond: Boolean, msg: ⇒ Any): ConsistentHashingRoutingLogic
      
      
      - Implicit
- This member is added by an implicit conversion from ConsistentHashingRoutingLogic to Ensuring[ConsistentHashingRoutingLogic] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        ensuring(cond: Boolean): ConsistentHashingRoutingLogic
      
      
      - Implicit
- This member is added by an implicit conversion from ConsistentHashingRoutingLogic to Ensuring[ConsistentHashingRoutingLogic] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        eq(arg0: AnyRef): Boolean
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        formatted(fmtstr: String): String
      
      
      - Implicit
- This member is added by an implicit conversion from ConsistentHashingRoutingLogic to StringFormat[ConsistentHashingRoutingLogic] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        getClass(): Class[_]
      
      
      - Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
 
-  val hashMapping: ConsistentHashMapping
- 
      
      
      
        
      
    
      
        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
- @native() @HotSpotIntrinsicCandidate()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        notifyAll(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        select(message: Any, routees: IndexedSeq[Routee]): Routee
      
      
      Pick the destination for a given message. Pick the destination for a given message. Normally it picks one of the passed routees, but in the end it is up to the implementation to return whatever Routee to use for sending a specific message.When implemented from Java it can be good to know that routees.apply(index)can be used to get an element from theIndexedSeq.- Definition Classes
- ConsistentHashingRoutingLogic → RoutingLogic
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        synchronized[T0](arg0: ⇒ T0): T0
      
      
      - Definition Classes
- AnyRef
 
-  val system: ActorSystem
-  val virtualNodesFactor: Int
-  val vnodes: Int
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long, arg1: Int): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... )
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        withHashMapper(mapper: ConsistentHashMapper): ConsistentHashingRoutingLogic
      
      
      Java API: Setting the mapping from message to the data to use for the consistent hash key. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        withVirtualNodesFactor(vnodes: Int): ConsistentHashingRoutingLogic
      
      
      Setting the number of virtual nodes per node, used in akka.routing.ConsistentHash 
- 
      
      
      
        
      
    
      
        
        def
      
      
        →[B](y: B): (ConsistentHashingRoutingLogic, B)
      
      
      - Implicit
- This member is added by an implicit conversion from ConsistentHashingRoutingLogic to ArrowAssoc[ConsistentHashingRoutingLogic] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc