diff --git a/akka-docs/rst/java/routing.rst b/akka-docs/rst/java/routing.rst index f47fe99d01..3ebfe3ee40 100644 --- a/akka-docs/rst/java/routing.rst +++ b/akka-docs/rst/java/routing.rst @@ -46,7 +46,9 @@ outside of actors. .. note:: In general, any message sent to a router will be sent onwards to its routees, but there is one exception. - The special :ref:`broadcast-messages-java` will send to *all* of a router's routees + The special :ref:`broadcast-messages-java` will send to *all* of a router's routees. + However, do not use :ref:`broadcast-messages-java` when you use :ref:`balancing-pool-java` for routees + as described in :ref:`router-special-messages-java`. A Router Actor ^^^^^^^^^^^^^^ @@ -276,6 +278,10 @@ All routees share the same mailbox. replying to the original client. The other advantage is that it does not place a restriction on the message queue implementation as BalancingPool does. +.. note:: + Do not use :ref:`broadcast-messages-java` when you use :ref:`balancing-pool-java` for routers, + as described in :ref:`router-special-messages-java`. + BalancingPool defined in configuration: .. includecode:: ../scala/code/docs/routing/RouterDocSpec.scala#config-balancing-pool @@ -522,6 +528,11 @@ In this example the router receives the ``Broadcast`` message, extracts its payl (``"Watch out for Davy Jones' locker"``), and then sends the payload on to all of the router's routees. It is up to each routee actor to handle the received payload message. +.. note:: + Do not use :ref:`broadcast-messages-java` when you use :ref:`balancing-pool-java` for routers. + Routees on :ref:`balancing-pool-java` shares the same mailbox instance, thus some routees can + possibly get the broadcast message multiple times, while other routees get no broadcast message. + PoisonPill Messages ------------------- diff --git a/akka-docs/rst/scala/routing.rst b/akka-docs/rst/scala/routing.rst index bba212da76..bb04f40870 100644 --- a/akka-docs/rst/scala/routing.rst +++ b/akka-docs/rst/scala/routing.rst @@ -46,7 +46,10 @@ outside of actors. .. note:: In general, any message sent to a router will be sent onwards to its routees, but there is one exception. - The special :ref:`broadcast-messages-scala` will send to *all* of a router's routees + The special :ref:`broadcast-messages-scala` will send to *all* of a router's routees. + However, do not use :ref:`broadcast-messages-scala` when you use :ref:`balancing-pool-scala` for routees + as described in :ref:`router-special-messages-scala`. + A Router Actor ^^^^^^^^^^^^^^ @@ -275,6 +278,11 @@ All routees share the same mailbox. replying to the original client. The other advantage is that it does not place a restriction on the message queue implementation as BalancingPool does. +.. note:: + Do not use :ref:`broadcast-messages-scala` when you use :ref:`balancing-pool-scala` for routers. + as described in :ref:`router-special-messages-scala`, + + BalancingPool defined in configuration: .. includecode:: code/docs/routing/RouterDocSpec.scala#config-balancing-pool @@ -521,6 +529,12 @@ In this example the router receives the ``Broadcast`` message, extracts its payl (``"Watch out for Davy Jones' locker"``), and then sends the payload on to all of the router's routees. It is up to each routee actor to handle the received payload message. +.. note:: + Do not use :ref:`broadcast-messages-scala` when you use :ref:`balancing-pool-scala` for routers. + Routees on :ref:`balancing-pool-scala` shares the same mailbox instance, thus some routees can + possibly get the broadcast message multiple times, while other routees get no broadcast message. + + PoisonPill Messages -------------------