Package akka.routing

Class Router

  • All Implemented Interfaces:
    java.io.Serializable, scala.Equals, scala.Product

    public final class Router
    extends java.lang.Object
    implements scala.Product, java.io.Serializable
    For each message that is sent through the router via the route(java.lang.Object, akka.actor.ActorRef) method the RoutingLogic decides to which Routee to send the message. The Routee itself knows how to perform the actual sending. Normally the RoutingLogic picks one of the contained routees, but that is up to the implementation of the RoutingLogic.

    A Router is immutable and the RoutingLogic must be thread safe.

    See Also:
    Serialized Form
    • Constructor Detail

      • Router

        public Router​(RoutingLogic logic,
                      scala.collection.immutable.IndexedSeq<Routee> routees)
      • Router

        public Router​(RoutingLogic logic,
                      java.lang.Iterable<Routee> routees)
        Java API
    • Method Detail

      • $lessinit$greater$default$2

        public static scala.collection.immutable.IndexedSeq<Routee> $lessinit$greater$default$2()
      • apply$default$2

        public static scala.collection.immutable.IndexedSeq<Routee> apply$default$2()
      • unapply

        public static scala.Option<scala.Tuple2<RoutingLogic,​scala.collection.immutable.IndexedSeq<Routee>>> unapply​(Router x$0)
      • routees

        public scala.collection.immutable.IndexedSeq<Routee> routees()
      • route

        public void route​(java.lang.Object message,
                          ActorRef sender)
        Send the message to the destination Routee selected by the RoutingLogic. If the message is a RouterEnvelope it will be unwrapped before sent to the destinations. Messages wrapped in a Broadcast envelope are always sent to all routees.
      • withRoutees

        public Router withRoutees​(scala.collection.immutable.IndexedSeq<Routee> rs)
        Create a new instance with the specified routees and the same RoutingLogic.
      • addRoutee

        public Router addRoutee​(Routee routee)
        Create a new instance with one more routee and the same RoutingLogic.
      • removeRoutee

        public Router removeRoutee​(Routee routee)
        Create a new instance without the specified routee.
      • copy$default$2

        public scala.collection.immutable.IndexedSeq<Routee> copy$default$2()
      • productPrefix

        public java.lang.String productPrefix()
        Specified by:
        productPrefix in interface scala.Product
      • productArity

        public int productArity()
        Specified by:
        productArity in interface scala.Product
      • productElement

        public java.lang.Object productElement​(int x$1)
        Specified by:
        productElement in interface scala.Product
      • productIterator

        public scala.collection.Iterator<java.lang.Object> productIterator()
        Specified by:
        productIterator in interface scala.Product
      • canEqual

        public boolean canEqual​(java.lang.Object x$1)
        Specified by:
        canEqual in interface scala.Equals
      • productElementName

        public java.lang.String productElementName​(int x$1)
        Specified by:
        productElementName in interface scala.Product
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object x$1)
        Specified by:
        equals in interface scala.Equals
        Overrides:
        equals in class java.lang.Object