Class ReplicatedEntityProvider$
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ReplicatedEntityProvider$Static reference to the singleton instance of this Scala object. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<M> ReplicatedEntityProvider<M>apply(String typeName, scala.collection.immutable.Set<ReplicaId> allReplicaIds, scala.Function2<EntityTypeKey<M>, ReplicaId, ReplicatedEntity<M>> settingsPerReplicaFactory, scala.reflect.ClassTag<M> evidence$1) Scala API:<M> ReplicatedEntityProvider<M>create(Class<M> messageClass, String typeName, Set<ReplicaId> allReplicaIds, Function2<EntityTypeKey<M>, ReplicaId, ReplicatedEntity<M>> settingsPerReplicaFactory) Java API:<M> ReplicatedEntityProvider<M>createPerDataCenter(Class<M> messageClass, String typeName, Set<ReplicaId> allReplicaIds, Function<ReplicationId, Behavior<M>> createBehavior) Java API<M> ReplicatedEntityProvider<M>createPerRole(Class<M> messageClass, String typeName, Set<ReplicaId> allReplicaIds, Function<ReplicationId, Behavior<M>> createBehavior) Java API<M,E> ReplicatedEntityProvider<M> perDataCenter(String typeName, scala.collection.immutable.Set<ReplicaId> allReplicaIds, scala.Function1<ReplicationId, Behavior<M>> create, scala.reflect.ClassTag<M> evidence$2) Scala API<M,E> ReplicatedEntityProvider<M> perRole(String typeName, scala.collection.immutable.Set<ReplicaId> allReplicaIds, scala.Function1<ReplicationId, Behavior<M>> create, scala.reflect.ClassTag<M> evidence$3) Scala API
-
Field Details
-
MODULE$
Static reference to the singleton instance of this Scala object.
-
-
Constructor Details
-
ReplicatedEntityProvider$
public ReplicatedEntityProvider$()
-
-
Method Details
-
create
public <M> ReplicatedEntityProvider<M> create(Class<M> messageClass, String typeName, Set<ReplicaId> allReplicaIds, Function2<EntityTypeKey<M>, ReplicaId, ReplicatedEntity<M>> settingsPerReplicaFactory) Java API:Provides full control over the
ReplicatedEntityand thejavadsl.EntityMost use cases can use the<M>createPerDataCenter(java.lang.Class<M>,java.lang.String,java.util.Set<org.apache.pekko.persistence.typed.ReplicaId>,java.util.function.Function<org.apache.pekko.persistence.typed.ReplicationId,org.apache.pekko.actor.typed.Behavior<M>>)and<M>createPerRole(java.lang.Class<M>,java.lang.String,java.util.Set<org.apache.pekko.persistence.typed.ReplicaId>,org.apache.pekko.japi.function.Function<org.apache.pekko.persistence.typed.ReplicationId,org.apache.pekko.actor.typed.Behavior<M>>) -
apply
public <M> ReplicatedEntityProvider<M> apply(String typeName, scala.collection.immutable.Set<ReplicaId> allReplicaIds, scala.Function2<EntityTypeKey<M>, ReplicaId, ReplicatedEntity<M>> settingsPerReplicaFactory, scala.reflect.ClassTag<M> evidence$1) Scala API:Provides full control over the
ReplicatedEntityand thescaladsl.EntityMost use cases can use the<M,E>perDataCenter(java.lang.String,scala.collection.immutable.Set<org.apache.pekko.persistence.typed.ReplicaId>,scala.Function1<org.apache.pekko.persistence.typed.ReplicationId,org.apache.pekko.actor.typed.Behavior<M>>,scala.reflect.ClassTag<M>)and<M,E>perRole(java.lang.String,scala.collection.immutable.Set<org.apache.pekko.persistence.typed.ReplicaId>,scala.Function1<org.apache.pekko.persistence.typed.ReplicationId,org.apache.pekko.actor.typed.Behavior<M>>,scala.reflect.ClassTag<M>)- Parameters:
typeName- The type name used in thescaladsl.EntityTypeKey
-
perDataCenter
public <M,E> ReplicatedEntityProvider<M> perDataCenter(String typeName, scala.collection.immutable.Set<ReplicaId> allReplicaIds, scala.Function1<ReplicationId, Behavior<M>> create, scala.reflect.ClassTag<M> evidence$2) Scala APICreate a
ReplicatedEntityProviderthat uses the defaults forscaladsl.Entitywhen running in ClusterSharding. A replica will be run per data center. -
perRole
public <M,E> ReplicatedEntityProvider<M> perRole(String typeName, scala.collection.immutable.Set<ReplicaId> allReplicaIds, scala.Function1<ReplicationId, Behavior<M>> create, scala.reflect.ClassTag<M> evidence$3) Scala APICreate a
ReplicatedEntityProviderthat uses the defaults forscaladsl.Entitywhen running in ClusterSharding. The replicas in allReplicaIds should be roles used by nodes. A replica for each entity will run on each role. -
createPerDataCenter
public <M> ReplicatedEntityProvider<M> createPerDataCenter(Class<M> messageClass, String typeName, Set<ReplicaId> allReplicaIds, Function<ReplicationId, Behavior<M>> createBehavior) Java APICreate a
ReplicatedEntityProviderthat uses the defaults forscaladsl.Entitywhen running in ClusterSharding. A replica will be run per data center. -
createPerRole
public <M> ReplicatedEntityProvider<M> createPerRole(Class<M> messageClass, String typeName, Set<ReplicaId> allReplicaIds, Function<ReplicationId, Behavior<M>> createBehavior) Java APICreate a
ReplicatedEntityProviderthat uses the defaults forscaladsl.Entitywhen running in ClusterSharding.Map replicas to roles and then there will be a replica per role e.g. to match to availability zones/racks
-