Add some more imports to cluster sharding doc examples (#23305)
This commit is contained in:
parent
71175eaf54
commit
dd71f5759f
3 changed files with 27 additions and 16 deletions
|
|
@ -39,7 +39,7 @@ Scala
|
||||||
: @@snip [ClusterShardingSpec.scala]($akka$/akka-cluster-sharding/src/multi-jvm/scala/akka/cluster/sharding/ClusterShardingSpec.scala) { #counter-actor }
|
: @@snip [ClusterShardingSpec.scala]($akka$/akka-cluster-sharding/src/multi-jvm/scala/akka/cluster/sharding/ClusterShardingSpec.scala) { #counter-actor }
|
||||||
|
|
||||||
Java
|
Java
|
||||||
: @@snip [ClusterShardingTest.java]($akka$/akka-cluster-sharding/src/test/java/akka/cluster/sharding/ClusterShardingTest.java) { #counter-actor }
|
: @@snip [ClusterShardingTest.java]($code$/java/jdocs/sharding/ClusterShardingTest.java) { #counter-actor }
|
||||||
|
|
||||||
The above actor uses event sourcing and the support provided in @scala[`PersistentActor`] @java[`AbstractPersistentActor`] to store its state.
|
The above actor uses event sourcing and the support provided in @scala[`PersistentActor`] @java[`AbstractPersistentActor`] to store its state.
|
||||||
It does not have to be a persistent actor, but in case of failure or migration of entities between nodes it must be able to recover
|
It does not have to be a persistent actor, but in case of failure or migration of entities between nodes it must be able to recover
|
||||||
|
|
@ -56,7 +56,7 @@ Scala
|
||||||
: @@snip [ClusterShardingSpec.scala]($akka$/akka-cluster-sharding/src/multi-jvm/scala/akka/cluster/sharding/ClusterShardingSpec.scala) { #counter-start }
|
: @@snip [ClusterShardingSpec.scala]($akka$/akka-cluster-sharding/src/multi-jvm/scala/akka/cluster/sharding/ClusterShardingSpec.scala) { #counter-start }
|
||||||
|
|
||||||
Java
|
Java
|
||||||
: @@snip [ClusterShardingTest.java]($akka$/akka-cluster-sharding/src/test/java/akka/cluster/sharding/ClusterShardingTest.java) { #counter-start }
|
: @@snip [ClusterShardingTest.java]($code$/java/jdocs/sharding/ClusterShardingTest.java) { #counter-start }
|
||||||
|
|
||||||
The @scala[`extractEntityId` and `extractShardId` are two] @java[`messageExtractor` defines] application specific @scala[functions] @java[methods] to extract the entity
|
The @scala[`extractEntityId` and `extractShardId` are two] @java[`messageExtractor` defines] application specific @scala[functions] @java[methods] to extract the entity
|
||||||
identifier and the shard identifier from incoming messages.
|
identifier and the shard identifier from incoming messages.
|
||||||
|
|
@ -65,7 +65,7 @@ Scala
|
||||||
: @@snip [ClusterShardingSpec.scala]($akka$/akka-cluster-sharding/src/multi-jvm/scala/akka/cluster/sharding/ClusterShardingSpec.scala) { #counter-extractor }
|
: @@snip [ClusterShardingSpec.scala]($akka$/akka-cluster-sharding/src/multi-jvm/scala/akka/cluster/sharding/ClusterShardingSpec.scala) { #counter-extractor }
|
||||||
|
|
||||||
Java
|
Java
|
||||||
: @@snip [ClusterShardingTest.java]($akka$/akka-cluster-sharding/src/test/java/akka/cluster/sharding/ClusterShardingTest.java) { #counter-extractor }
|
: @@snip [ClusterShardingTest.java]($code$/java/jdocs/sharding/ClusterShardingTest.java) { #counter-extractor }
|
||||||
|
|
||||||
This example illustrates two different ways to define the entity identifier in the messages:
|
This example illustrates two different ways to define the entity identifier in the messages:
|
||||||
|
|
||||||
|
|
@ -103,7 +103,7 @@ Scala
|
||||||
: @@snip [ClusterShardingSpec.scala]($akka$/akka-cluster-sharding/src/multi-jvm/scala/akka/cluster/sharding/ClusterShardingSpec.scala) { #counter-usage }
|
: @@snip [ClusterShardingSpec.scala]($akka$/akka-cluster-sharding/src/multi-jvm/scala/akka/cluster/sharding/ClusterShardingSpec.scala) { #counter-usage }
|
||||||
|
|
||||||
Java
|
Java
|
||||||
: @@snip [ClusterShardingTest.java]($akka$/akka-cluster-sharding/src/test/java/akka/cluster/sharding/ClusterShardingTest.java) { #counter-usage }
|
: @@snip [ClusterShardingTest.java]($code$/java/jdocs/sharding/ClusterShardingTest.java) { #counter-usage }
|
||||||
|
|
||||||
@@@ div { .group-scala }
|
@@@ div { .group-scala }
|
||||||
|
|
||||||
|
|
@ -298,7 +298,7 @@ Scala
|
||||||
: @@snip [ClusterShardingSpec.scala]($akka$/akka-cluster-sharding/src/multi-jvm/scala/akka/cluster/sharding/ClusterShardingSpec.scala) { #extractShardId-StartEntity }
|
: @@snip [ClusterShardingSpec.scala]($akka$/akka-cluster-sharding/src/multi-jvm/scala/akka/cluster/sharding/ClusterShardingSpec.scala) { #extractShardId-StartEntity }
|
||||||
|
|
||||||
Java
|
Java
|
||||||
: @@snip [ClusterShardingTest.java]($akka$/akka-cluster-sharding/src/test/java/akka/cluster/sharding/ClusterShardingTest.java) { #extractShardId-StartEntity }
|
: @@snip [ClusterShardingTest.java]($code$/java/jdocs/sharding/ClusterShardingTest.java) { #extractShardId-StartEntity }
|
||||||
|
|
||||||
When configured to remember entities, whenever a `Shard` is rebalanced onto another
|
When configured to remember entities, whenever a `Shard` is rebalanced onto another
|
||||||
node or recovers after a crash it will recreate all the entities which were previously
|
node or recovers after a crash it will recreate all the entities which were previously
|
||||||
|
|
@ -307,8 +307,8 @@ sent to the parent of the entity actor, otherwise the entity will be automatical
|
||||||
restarted after the entity restart backoff specified in the configuration.
|
restarted after the entity restart backoff specified in the configuration.
|
||||||
|
|
||||||
When [Distributed Data mode](#cluster-sharding-mode) is used the identifiers of the entities are
|
When [Distributed Data mode](#cluster-sharding-mode) is used the identifiers of the entities are
|
||||||
stored in @ref:[Durable Storage](distributed-data.md#ddata-durable) of Distributed Data. You may want to change the
|
stored in @ref[Durable Storage](distributed-data.md#ddata-durable) of Distributed Data. You may want to change the
|
||||||
configuration of the akka.cluster.sharding.distributed-data.durable.lmdb.dir`, since
|
configuration of the `akka.cluster.sharding.distributed-data.durable.lmdb.dir`, since
|
||||||
the default directory contains the remote port of the actor system. If using a dynamically
|
the default directory contains the remote port of the actor system. If using a dynamically
|
||||||
assigned port (0) it will be different each time and the previously stored data will not
|
assigned port (0) it will be different each time and the previously stored data will not
|
||||||
be loaded.
|
be loaded.
|
||||||
|
|
@ -319,7 +319,7 @@ for that entity has been received in the `Shard`. Entities will not be restarted
|
||||||
using a `Passivate`.
|
using a `Passivate`.
|
||||||
|
|
||||||
Note that the state of the entities themselves will not be restored unless they have been made persistent,
|
Note that the state of the entities themselves will not be restored unless they have been made persistent,
|
||||||
e.g. with @ref:[Persistence](persistence.md).
|
e.g. with @ref[Persistence](persistence.md).
|
||||||
|
|
||||||
The performance cost of `rememberEntities` is rather high when starting/stopping entities and when
|
The performance cost of `rememberEntities` is rather high when starting/stopping entities and when
|
||||||
shards are rebalanced. This cost increases with number of entities per shard and we currently don't
|
shards are rebalanced. This cost increases with number of entities per shard and we currently don't
|
||||||
|
|
@ -335,7 +335,7 @@ Scala
|
||||||
: @@snip [ClusterShardingSpec.scala]($akka$/akka-cluster-sharding/src/multi-jvm/scala/akka/cluster/sharding/ClusterShardingSpec.scala) { #supervisor }
|
: @@snip [ClusterShardingSpec.scala]($akka$/akka-cluster-sharding/src/multi-jvm/scala/akka/cluster/sharding/ClusterShardingSpec.scala) { #supervisor }
|
||||||
|
|
||||||
Java
|
Java
|
||||||
: @@snip [ClusterShardingTest.java]($akka$/akka-cluster-sharding/src/test/java/akka/cluster/sharding/ClusterShardingTest.java) { #supervisor }
|
: @@snip [ClusterShardingTest.java]($code$/java/jdocs/sharding/ClusterShardingTest.java) { #supervisor }
|
||||||
|
|
||||||
You start such a supervisor in the same way as if it was the entity actor.
|
You start such a supervisor in the same way as if it was the entity actor.
|
||||||
|
|
||||||
|
|
@ -343,7 +343,7 @@ Scala
|
||||||
: @@snip [ClusterShardingSpec.scala]($akka$/akka-cluster-sharding/src/multi-jvm/scala/akka/cluster/sharding/ClusterShardingSpec.scala) { #counter-supervisor-start }
|
: @@snip [ClusterShardingSpec.scala]($akka$/akka-cluster-sharding/src/multi-jvm/scala/akka/cluster/sharding/ClusterShardingSpec.scala) { #counter-supervisor-start }
|
||||||
|
|
||||||
Java
|
Java
|
||||||
: @@snip [ClusterShardingTest.java]($akka$/akka-cluster-sharding/src/test/java/akka/cluster/sharding/ClusterShardingTest.java) { #counter-supervisor-start }
|
: @@snip [ClusterShardingTest.java]($code$/java/jdocs/sharding/ClusterShardingTest.java) { #counter-supervisor-start }
|
||||||
|
|
||||||
Note that stopped entities will be started again when a new message is targeted to the entity.
|
Note that stopped entities will be started again when a new message is targeted to the entity.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
* Copyright (C) 2009-2017 Lightbend Inc. <http://www.lightbend.com>
|
* Copyright (C) 2009-2017 Lightbend Inc. <http://www.lightbend.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package akka.cluster.sharding;
|
package jdocs.sharding;
|
||||||
|
|
||||||
import static java.util.concurrent.TimeUnit.SECONDS;
|
import static java.util.concurrent.TimeUnit.SECONDS;
|
||||||
|
|
||||||
|
|
@ -18,7 +18,17 @@ import akka.actor.Props;
|
||||||
import akka.actor.SupervisorStrategy;
|
import akka.actor.SupervisorStrategy;
|
||||||
import akka.actor.Terminated;
|
import akka.actor.Terminated;
|
||||||
import akka.actor.ReceiveTimeout;
|
import akka.actor.ReceiveTimeout;
|
||||||
|
//#counter-extractor
|
||||||
|
import akka.cluster.sharding.ShardRegion;
|
||||||
|
|
||||||
|
//#counter-extractor
|
||||||
|
|
||||||
|
//#counter-start
|
||||||
import akka.japi.Option;
|
import akka.japi.Option;
|
||||||
|
import akka.cluster.sharding.ClusterSharding;
|
||||||
|
import akka.cluster.sharding.ClusterShardingSettings;
|
||||||
|
|
||||||
|
//#counter-start
|
||||||
import akka.persistence.AbstractPersistentActor;
|
import akka.persistence.AbstractPersistentActor;
|
||||||
import akka.cluster.Cluster;
|
import akka.cluster.Cluster;
|
||||||
import akka.japi.pf.DeciderBuilder;
|
import akka.japi.pf.DeciderBuilder;
|
||||||
|
|
@ -103,6 +103,7 @@ lazy val docs = akkaModule("akka-docs")
|
||||||
.dependsOn(
|
.dependsOn(
|
||||||
actor, cluster, clusterMetrics, slf4j, agent, camel, osgi, persistenceTck, persistenceQuery, distributedData, stream,
|
actor, cluster, clusterMetrics, slf4j, agent, camel, osgi, persistenceTck, persistenceQuery, distributedData, stream,
|
||||||
clusterTools % "compile->compile;test->test",
|
clusterTools % "compile->compile;test->test",
|
||||||
|
clusterSharding % "compile->compile;test->test",
|
||||||
testkit % "compile->compile;test->test",
|
testkit % "compile->compile;test->test",
|
||||||
remote % "compile->compile;test->test",
|
remote % "compile->compile;test->test",
|
||||||
persistence % "compile->compile;provided->provided;test->test",
|
persistence % "compile->compile;provided->provided;test->test",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue