incorporate feedback
This commit is contained in:
parent
20fce37665
commit
eee449ccb3
3 changed files with 10 additions and 12 deletions
|
|
@ -167,7 +167,7 @@ public class ReplicatorTest extends JUnitSuite {
|
||||||
@Test
|
@Test
|
||||||
public void shouldHaveApiForUpdateAndGet() {
|
public void shouldHaveApiForUpdateAndGet() {
|
||||||
TestKit probe = new TestKit(system);
|
TestKit probe = new TestKit(system);
|
||||||
akka.cluster.ddata.ReplicatorSettings settings = ReplicatorSettings.apply(typedSystem());
|
akka.cluster.ddata.ReplicatorSettings settings = ReplicatorSettings.create(typedSystem());
|
||||||
ActorRef<Replicator.Command<?>> replicator =
|
ActorRef<Replicator.Command<?>> replicator =
|
||||||
Adapter.spawnAnonymous(system, Replicator.behavior(settings));
|
Adapter.spawnAnonymous(system, Replicator.behavior(settings));
|
||||||
ActorRef<ClientCommand> client =
|
ActorRef<ClientCommand> client =
|
||||||
|
|
@ -181,7 +181,7 @@ public class ReplicatorTest extends JUnitSuite {
|
||||||
@Test
|
@Test
|
||||||
public void shouldHaveApiForSubscribe() {
|
public void shouldHaveApiForSubscribe() {
|
||||||
TestKit probe = new TestKit(system);
|
TestKit probe = new TestKit(system);
|
||||||
akka.cluster.ddata.ReplicatorSettings settings = ReplicatorSettings.apply(typedSystem());
|
akka.cluster.ddata.ReplicatorSettings settings = ReplicatorSettings.create(typedSystem());
|
||||||
ActorRef<Replicator.Command<?>> replicator =
|
ActorRef<Replicator.Command<?>> replicator =
|
||||||
Adapter.spawnAnonymous(system, Replicator.behavior(settings));
|
Adapter.spawnAnonymous(system, Replicator.behavior(settings));
|
||||||
ActorRef<ClientCommand> client =
|
ActorRef<ClientCommand> client =
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ import scala.concurrent.duration.Duration
|
||||||
import java.util.Optional
|
import java.util.Optional
|
||||||
import akka.actor.DeadLetterSuppression
|
import akka.actor.DeadLetterSuppression
|
||||||
import akka.annotation.InternalApi
|
import akka.annotation.InternalApi
|
||||||
|
import akka.annotation.DoNotInherit
|
||||||
|
|
||||||
object Replicator {
|
object Replicator {
|
||||||
import dd.Replicator.DefaultMajorityMinCap
|
import dd.Replicator.DefaultMajorityMinCap
|
||||||
|
|
@ -26,7 +27,7 @@ object Replicator {
|
||||||
def behavior(settings: dd.ReplicatorSettings): Behavior[Command[_]] =
|
def behavior(settings: dd.ReplicatorSettings): Behavior[Command[_]] =
|
||||||
ReplicatorBehavior.behavior(settings).narrow[Command[_]]
|
ReplicatorBehavior.behavior(settings).narrow[Command[_]]
|
||||||
|
|
||||||
trait Command[A <: ReplicatedData] extends scaladsl.Replicator.Command[A] {
|
@DoNotInherit trait Command[A <: ReplicatedData] extends scaladsl.Replicator.Command[A] {
|
||||||
def key: Key[A]
|
def key: Key[A]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -113,7 +114,7 @@ object Replicator {
|
||||||
this(key, consistency, replyTo, Optional.empty[Any])
|
this(key, consistency, replyTo, Optional.empty[Any])
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed abstract class GetResponse[A <: ReplicatedData] extends NoSerializationVerificationNeeded {
|
@DoNotInherit sealed abstract class GetResponse[A <: ReplicatedData] extends NoSerializationVerificationNeeded {
|
||||||
def key: Key[A]
|
def key: Key[A]
|
||||||
def request: Optional[Any]
|
def request: Optional[Any]
|
||||||
def getRequest: Optional[Any] = request
|
def getRequest: Optional[Any] = request
|
||||||
|
|
@ -158,9 +159,6 @@ object Replicator {
|
||||||
* Send this message to the local `Replicator` to update a data value for the
|
* Send this message to the local `Replicator` to update a data value for the
|
||||||
* given `key`. The `Replicator` will reply with one of the [[UpdateResponse]] messages.
|
* given `key`. The `Replicator` will reply with one of the [[UpdateResponse]] messages.
|
||||||
*
|
*
|
||||||
* Note that the [[Replicator.Update$ companion]] object provides `apply` functions for convenient
|
|
||||||
* construction of this message.
|
|
||||||
*
|
|
||||||
* The current data value for the `key` is passed as parameter to the `modify` function.
|
* The current data value for the `key` is passed as parameter to the `modify` function.
|
||||||
* It is `None` if there is no value for the `key`, and otherwise `Some(data)`. The function
|
* It is `None` if there is no value for the `key`, and otherwise `Some(data)`. The function
|
||||||
* is supposed to return the new value of the data, which will then be replicated according to
|
* is supposed to return the new value of the data, which will then be replicated according to
|
||||||
|
|
@ -187,7 +185,7 @@ object Replicator {
|
||||||
Update.modifyWithInitial(initial, data ⇒ modify.apply(data)))
|
Update.modifyWithInitial(initial, data ⇒ modify.apply(data)))
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Java API: Modify value of local `Replicator` and replicate with given `writeConsistency`.
|
* Modify value of local `Replicator` and replicate with given `writeConsistency`.
|
||||||
*
|
*
|
||||||
* The current value for the `key` is passed to the `modify` function.
|
* The current value for the `key` is passed to the `modify` function.
|
||||||
* If there is no current data value for the `key` the `initial` value will be
|
* If there is no current data value for the `key` the `initial` value will be
|
||||||
|
|
@ -204,7 +202,7 @@ object Replicator {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed abstract class UpdateResponse[A <: ReplicatedData] extends NoSerializationVerificationNeeded {
|
@DoNotInherit sealed abstract class UpdateResponse[A <: ReplicatedData] extends NoSerializationVerificationNeeded {
|
||||||
def key: Key[A]
|
def key: Key[A]
|
||||||
def request: Optional[Any]
|
def request: Optional[Any]
|
||||||
def getRequest: Optional[Any] = request
|
def getRequest: Optional[Any] = request
|
||||||
|
|
@ -212,7 +210,7 @@ object Replicator {
|
||||||
final case class UpdateSuccess[A <: ReplicatedData](key: Key[A], request: Optional[Any])
|
final case class UpdateSuccess[A <: ReplicatedData](key: Key[A], request: Optional[Any])
|
||||||
extends UpdateResponse[A] with DeadLetterSuppression
|
extends UpdateResponse[A] with DeadLetterSuppression
|
||||||
|
|
||||||
sealed abstract class UpdateFailure[A <: ReplicatedData] extends UpdateResponse[A]
|
@DoNotInherit sealed abstract class UpdateFailure[A <: ReplicatedData] extends UpdateResponse[A]
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The direct replication of the [[Update]] could not be fulfill according to
|
* The direct replication of the [[Update]] could not be fulfill according to
|
||||||
|
|
|
||||||
|
|
@ -13,13 +13,13 @@ object ReplicatorSettings {
|
||||||
* Create settings from the default configuration
|
* Create settings from the default configuration
|
||||||
* `akka.cluster.distributed-data`.
|
* `akka.cluster.distributed-data`.
|
||||||
*/
|
*/
|
||||||
def apply(system: ActorSystem[_]): dd.ReplicatorSettings =
|
def create(system: ActorSystem[_]): dd.ReplicatorSettings =
|
||||||
dd.ReplicatorSettings(system.toUntyped)
|
dd.ReplicatorSettings(system.toUntyped)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create settings from a configuration with the same layout as
|
* Create settings from a configuration with the same layout as
|
||||||
* the default configuration `akka.cluster.distributed-data`.
|
* the default configuration `akka.cluster.distributed-data`.
|
||||||
*/
|
*/
|
||||||
def apply(config: Config): dd.ReplicatorSettings =
|
def create(config: Config): dd.ReplicatorSettings =
|
||||||
dd.ReplicatorSettings(config)
|
dd.ReplicatorSettings(config)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue