Class ReplicatedEntityProvider$
- java.lang.Object
-
- org.apache.pekko.cluster.sharding.typed.ReplicatedEntityProvider$
-
public class ReplicatedEntityProvider$ extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static ReplicatedEntityProvider$
MODULE$
Static reference to the singleton instance of this Scala object.
-
Constructor Summary
Constructors Constructor Description ReplicatedEntityProvider$()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <M> ReplicatedEntityProvider<M>
apply(java.lang.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(java.lang.Class<M> messageClass, java.lang.String typeName, java.util.Set<ReplicaId> allReplicaIds, Function2<EntityTypeKey<M>,ReplicaId,ReplicatedEntity<M>> settingsPerReplicaFactory)
Java API:<M> ReplicatedEntityProvider<M>
createPerDataCenter(java.lang.Class<M> messageClass, java.lang.String typeName, java.util.Set<ReplicaId> allReplicaIds, java.util.function.Function<ReplicationId,Behavior<M>> createBehavior)
Java API<M> ReplicatedEntityProvider<M>
createPerRole(java.lang.Class<M> messageClass, java.lang.String typeName, java.util.Set<ReplicaId> allReplicaIds, Function<ReplicationId,Behavior<M>> createBehavior)
Java API<M,E>
ReplicatedEntityProvider<M>perDataCenter(java.lang.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(java.lang.String typeName, scala.collection.immutable.Set<ReplicaId> allReplicaIds, scala.Function1<ReplicationId,Behavior<M>> create, scala.reflect.ClassTag<M> evidence$3)
Scala API
-
-
-
Field Detail
-
MODULE$
public static final ReplicatedEntityProvider$ MODULE$
Static reference to the singleton instance of this Scala object.
-
-
Method Detail
-
create
public <M> ReplicatedEntityProvider<M> create(java.lang.Class<M> messageClass, java.lang.String typeName, java.util.Set<ReplicaId> allReplicaIds, Function2<EntityTypeKey<M>,ReplicaId,ReplicatedEntity<M>> settingsPerReplicaFactory)
Java API:Provides full control over the
ReplicatedEntity
and thejavadsl.Entity
Most 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(java.lang.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
ReplicatedEntity
and thescaladsl.Entity
Most 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(java.lang.String typeName, scala.collection.immutable.Set<ReplicaId> allReplicaIds, scala.Function1<ReplicationId,Behavior<M>> create, scala.reflect.ClassTag<M> evidence$2)
Scala APICreate a
ReplicatedEntityProvider
that uses the defaults forscaladsl.Entity
when running in ClusterSharding. A replica will be run per data center.
-
perRole
public <M,E> ReplicatedEntityProvider<M> perRole(java.lang.String typeName, scala.collection.immutable.Set<ReplicaId> allReplicaIds, scala.Function1<ReplicationId,Behavior<M>> create, scala.reflect.ClassTag<M> evidence$3)
Scala APICreate a
ReplicatedEntityProvider
that uses the defaults forscaladsl.Entity
when 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(java.lang.Class<M> messageClass, java.lang.String typeName, java.util.Set<ReplicaId> allReplicaIds, java.util.function.Function<ReplicationId,Behavior<M>> createBehavior)
Java APICreate a
ReplicatedEntityProvider
that uses the defaults forscaladsl.Entity
when running in ClusterSharding. A replica will be run per data center.
-
createPerRole
public <M> ReplicatedEntityProvider<M> createPerRole(java.lang.Class<M> messageClass, java.lang.String typeName, java.util.Set<ReplicaId> allReplicaIds, Function<ReplicationId,Behavior<M>> createBehavior)
Java APICreate a
ReplicatedEntityProvider
that uses the defaults forscaladsl.Entity
when running in ClusterSharding.Map replicas to roles and then there will be a replica per role e.g. to match to availability zones/racks
-
-