@Override public Receive createReceive() { final Collection<ReceiveStrategy<?>> receiveStrategies = initReceiveStrategies(); final StrategyAwareReceiveBuilder strategyAwareReceiveBuilder = new StrategyAwareReceiveBuilder(); receiveStrategies.forEach(strategyAwareReceiveBuilder::match); strategyAwareReceiveBuilder.matchAny(new MatchAnyStrategy()); return shutdownNamespaceBehavior.createReceive().build().orElse(strategyAwareReceiveBuilder.build()); }
@Override public Receive createReceiveRecover() { return handleThingEvents.orElse(ReceiveBuilder.create()
@Override public Receive createReceiveRecover() { // defines how state is updated during recovery return handleThingEvents.orElse(ReceiveBuilder.create() // # Snapshot handling .match(SnapshotOffer.class, ss -> { log.debug("Got SnapshotOffer: {}", ss); thing = thingSnapshotter.recoverThingFromSnapshotOffer(ss); }) // # Recovery handling .match(RecoveryCompleted.class, rc -> { if (thing != null) { thing = enhanceThingWithLifecycle(thing); log.debug("Thing <{}> was recovered.", thingId); if (isThingActive()) { becomeThingCreatedHandler(); } else { // expect life cycle to be DELETED. if it's not, then act as if this thing is deleted. if (!isThingDeleted()) { // life cycle isn't known, act as log.error("Unknown lifecycle state <{}> for Thing <{}>.", thing.getLifecycle(), thingId); } becomeThingDeletedHandler(); } } }) .matchAny(m -> log.warning("Unknown recover message: {}", m)) .build()); }
@Override public Receive createReceiveRecover() { // defines how state is updated during recovery return handlePolicyEvents.orElse(ReceiveBuilder.create() // # Snapshot handling .match(SnapshotOffer.class, ss -> { policy = snapshotAdapter.fromSnapshotStore(ss); lastSnapshotSequenceNr = ss.metadata().sequenceNr(); }) // # Recovery handling .match(RecoveryCompleted.class, rc -> { if (policy != null) { log.debug("Policy <{}> was recovered.", policyId); if (isPolicyActive()) { becomePolicyCreatedHandler(); } else if (isPolicyDeleted()) { becomePolicyDeletedHandler(); } else { log.error("Unknown lifecycle state <{}> for Policy <{}>.", policy.getLifecycle(), policyId); } } }) // # Handle unknown .matchAny(m -> log.warning("Unknown recover message: {}", m)) .build()); }
@Override public Receive createReceiveRecover() { // defines how state is updated during recovery return handlePolicyEvents.orElse(ReceiveBuilder.create() // # Snapshot handling .match(SnapshotOffer.class, ss -> { policy = snapshotAdapter.fromSnapshotStore(ss); lastSnapshotSequenceNr = ss.metadata().sequenceNr(); }) // # Recovery handling .match(RecoveryCompleted.class, rc -> { if (policy != null) { log.debug("Policy <{}> was recovered.", policyId); if (isPolicyActive()) { becomePolicyCreatedHandler(); } else if (isPolicyDeleted()) { becomePolicyDeletedHandler(); } else { log.error("Unknown lifecycle state <{}> for Policy <{}>.", policy.getLifecycle(), policyId); } } }) // # Handle unknown .matchAny(m -> log.warning("Unknown recover message: {}", m)) .build()); }
@Override public Receive createReceive() { final Collection<ReceiveStrategy<?>> receiveStrategies = initReceiveStrategies(); final StrategyAwareReceiveBuilder strategyAwareReceiveBuilder = new StrategyAwareReceiveBuilder(log); strategyAwareReceiveBuilder.matchEach(receiveStrategies); strategyAwareReceiveBuilder.matchAny(new MatchAnyStrategy()); return shutdownNamespaceBehavior.createReceive().build().orElse(strategyAwareReceiveBuilder.build()); }
@Override public Receive createReceive() { return handleEvents().orElse(ReceiveBuilder.create() .match(DistributedPubSubMediator.SubscribeAck.class, subscribeAck -> log.debug("Got SubscribeAck about topic <{}> for group <{}>", subscribeAck.subscribe().topic(), subscribeAck.subscribe().group())) .matchAny(message -> { log.warning("Unhandled message <{}>", message); unhandled(message); }) .build()); }