abstract class GroupRouter[T] extends DeferredBehavior[T]
Provides builder style configuration options for group routers
Not for user extension. Use Routers#group to create
- Annotations
- @DoNotInherit()
- Source
- Routers.scala
- Alphabetic
- By Inheritance
- GroupRouter
- DeferredBehavior
- Behavior
- AnyRef
- Any
- by BehaviorDecorators
- by BehaviorDecorators
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new GroupRouter()
Abstract Value Members
-
abstract
def
apply(ctx: TypedActorContext[T]): Behavior[T]
- Definition Classes
- DeferredBehavior
-
abstract
def
withRandomRouting(): GroupRouter[T]
Route messages by randomly selecting the routee from the available routees.
Route messages by randomly selecting the routee from the available routees.
This is the default for group routers.
-
abstract
def
withRoundRobinRouting(): GroupRouter[T]
Route messages by using round robin.
Route messages by using round robin.
Round robin gives fair routing where every available routee gets the same amount of messages as long as the set of routees stays relatively stable, but may be unfair if the set of routees changes a lot.
Concrete 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 GroupRouter[T] to any2stringadd[GroupRouter[T]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (GroupRouter[T], B)
- Implicit
- This member is added by an implicit conversion from GroupRouter[T] to ArrowAssoc[GroupRouter[T]] 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: (GroupRouter[T]) ⇒ Boolean, msg: ⇒ Any): GroupRouter[T]
- Implicit
- This member is added by an implicit conversion from GroupRouter[T] to Ensuring[GroupRouter[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (GroupRouter[T]) ⇒ Boolean): GroupRouter[T]
- Implicit
- This member is added by an implicit conversion from GroupRouter[T] to Ensuring[GroupRouter[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): GroupRouter[T]
- Implicit
- This member is added by an implicit conversion from GroupRouter[T] to Ensuring[GroupRouter[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): GroupRouter[T]
- Implicit
- This member is added by an implicit conversion from GroupRouter[T] to Ensuring[GroupRouter[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from GroupRouter[T] to StringFormat[GroupRouter[T]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
narrow[U <: T]: Behavior[U]
Narrow the type of this Behavior, which is always a safe operation.
Narrow the type of this Behavior, which is always a safe operation. This method is necessary to implement the contravariant nature of Behavior (which cannot be expressed directly due to type inference problems).
- Definition Classes
- Behavior
-
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()
-
final
def
orElse(that: Behavior[T]): Behavior[T]
Composes this
Behavior
with a fallbackBehavior
which is used when thisBehavior
doesn't handle the message or signal, i.e.Composes this
Behavior
with a fallbackBehavior
which is used when thisBehavior
doesn't handle the message or signal, i.e. whenunhandled
is returned.- that
the fallback
Behavior
- Definition Classes
- Behavior
-
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( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
→[B](y: B): (GroupRouter[T], B)
- Implicit
- This member is added by an implicit conversion from GroupRouter[T] to ArrowAssoc[GroupRouter[T]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
Shadowed Implicit Value Members
-
val
behavior: Behavior[T]
- Implicit
- This member is added by an implicit conversion from GroupRouter[T] to BehaviorDecorators[T] performed by method BehaviorDecorators in akka.actor.typed.Behavior.
- Shadowing
- This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
To access this member you can use a type ascription:(groupRouter: BehaviorDecorators[T]).behavior
- Definition Classes
- BehaviorDecorators
-
val
behavior: Behavior[T]
- Implicit
- This member is added by an implicit conversion from GroupRouter[T] to BehaviorDecorators[T] performed by method BehaviorDecorators in akka.actor.typed.Behavior.
- Shadowing
- This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
To access this member you can use a type ascription:(groupRouter: BehaviorDecorators[T]).behavior
- Definition Classes
- BehaviorDecorators
-
def
widen[U](matcher: PartialFunction[U, T]): Behavior[U]
Widen the wrapped Behavior by placing a funnel in front of it: the supplied PartialFunction decides which message to pull in (those that it is defined at) and may transform the incoming message to place them into the wrapped Behavior’s type hierarchy.
Widen the wrapped Behavior by placing a funnel in front of it: the supplied PartialFunction decides which message to pull in (those that it is defined at) and may transform the incoming message to place them into the wrapped Behavior’s type hierarchy. Signals are not transformed.
Example:
receive[String] { (ctx, msg) => println(msg); same }.widen[Number] { case b: BigDecimal => s"BigDecimal($b)" case i: BigInteger => s"BigInteger($i)" // all other kinds of Number will be `unhandled` }
Scheduled messages via akka.actor.typed.scaladsl.TimerScheduler can currently not be used together with
widen
, see issue #25318.- Implicit
- This member is added by an implicit conversion from GroupRouter[T] to BehaviorDecorators[T] performed by method BehaviorDecorators in akka.actor.typed.Behavior.
- Shadowing
- This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
To access this member you can use a type ascription:(groupRouter: BehaviorDecorators[T]).widen(matcher)
- Definition Classes
- BehaviorDecorators
-
def
widen[U](matcher: PartialFunction[U, T]): Behavior[U]
Widen the wrapped Behavior by placing a funnel in front of it: the supplied PartialFunction decides which message to pull in (those that it is defined at) and may transform the incoming message to place them into the wrapped Behavior’s type hierarchy.
Widen the wrapped Behavior by placing a funnel in front of it: the supplied PartialFunction decides which message to pull in (those that it is defined at) and may transform the incoming message to place them into the wrapped Behavior’s type hierarchy. Signals are not transformed.
Example:
receive[String] { (ctx, msg) => println(msg); same }.widen[Number] { case b: BigDecimal => s"BigDecimal($b)" case i: BigInteger => s"BigInteger($i)" // all other kinds of Number will be `unhandled` }
Scheduled messages via akka.actor.typed.scaladsl.TimerScheduler can currently not be used together with
widen
, see issue #25318.- Implicit
- This member is added by an implicit conversion from GroupRouter[T] to BehaviorDecorators[T] performed by method BehaviorDecorators in akka.actor.typed.Behavior.
- Shadowing
- This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
To access this member you can use a type ascription:(groupRouter: BehaviorDecorators[T]).widen(matcher)
- Definition Classes
- BehaviorDecorators