akka.contrib.pattern
Class ShardRegion.Passivate
java.lang.Object
akka.contrib.pattern.ShardRegion.Passivate
- All Implemented Interfaces:
- ShardRegion.ShardRegionCommand, java.io.Serializable, scala.Equals, scala.Product
- Enclosing class:
- ShardRegion
public static class ShardRegion.Passivate
- extends java.lang.Object
- implements ShardRegion.ShardRegionCommand, scala.Product, scala.Serializable
If the state of the entries are persistent you may stop entries that are not used to
reduce memory consumption. This is done by the application specific implementation of
the entry actors for example by defining receive timeout (context.setReceiveTimeout
).
If a message is already enqueued to the entry when it stops itself the enqueued message
in the mailbox will be dropped. To support graceful passivation without loosing such
messages the entry actor can send this Passivate
message to its parent ShardRegion
.
The specified wrapped stopMessage
will be sent back to the entry, which is
then supposed to stop itself. Incoming messages will be buffered by the ShardRegion
between reception of Passivate
and termination of the entry. Such buffered messages
are thereafter delivered to a new incarnation of the entry.
PoisonPill
is a perfectly fine stopMessage
.
- See Also:
- Serialized Form
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface scala.Product |
productArity, productElement, productIterator, productPrefix |
Methods inherited from interface scala.Equals |
canEqual, equals |
ShardRegion.Passivate
public ShardRegion.Passivate(java.lang.Object stopMessage)
stopMessage
public java.lang.Object stopMessage()