From 24a00bce4157d71084dd07364855c0cf2a4879e3 Mon Sep 17 00:00:00 2001 From: char16t Date: Tue, 6 Aug 2019 14:58:56 +0300 Subject: [PATCH 1/2] akka-persistence-typed 2.5-SNAPSHOT -> 2.5.23 --- build.sbt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index 6b3dd80..80a4c78 100644 --- a/build.sbt +++ b/build.sbt @@ -5,6 +5,6 @@ version := "0.1" scalaVersion := "2.12.4" libraryDependencies ++= Seq( - "com.typesafe.akka" %% "akka-persistence-typed" % "2.5-SNAPSHOT", + "com.typesafe.akka" %% "akka-persistence-typed" % "2.5.23", "org.fusesource.leveldbjni" % "leveldbjni-all" % "1.8" -) \ No newline at end of file +) From 8b266bf590beb366da3602bd9a4b2857f8569fa8 Mon Sep 17 00:00:00 2001 From: char16t Date: Tue, 6 Aug 2019 15:00:47 +0300 Subject: [PATCH 2/2] akka 2.5.23 --- .../com/ojha/persistence/typedExample.scala | 30 ++++++++----------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/src/main/scala/com/ojha/persistence/typedExample.scala b/src/main/scala/com/ojha/persistence/typedExample.scala index 25fbba3..bdd7e43 100644 --- a/src/main/scala/com/ojha/persistence/typedExample.scala +++ b/src/main/scala/com/ojha/persistence/typedExample.scala @@ -1,8 +1,8 @@ package com.ojha.persistence import akka.actor.typed.Behavior -import akka.persistence.typed.scaladsl.PersistentActor -import akka.persistence.typed.scaladsl.PersistentActor.Effect +import akka.persistence.typed.PersistenceId +import akka.persistence.typed.scaladsl.{Effect, EventSourcedBehavior} sealed trait TypedExampleCommand extends Serializable case class TypedExampleWriteCommand(data: String) extends TypedExampleCommand @@ -27,22 +27,18 @@ object TypedExampleMain extends App { } object TypedExample { - - def behavior: Behavior[TypedExampleCommand] = - PersistentActor.immutable[TypedExampleCommand, TypedEvent, TypedExampleState]( - persistenceId = "example-id", - initialState = new TypedExampleState, - commandHandler = PersistentActor.CommandHandler { - (_, state, cmd) ⇒ - cmd match { - case TypedExampleWriteCommand(data) => Effect.persist(TypedEvent(s"$data ${state.size}")) - case TypedExamplePrint => println(state); Effect.none - } - }, + def behavior: Behavior[TypedExampleCommand] = { + EventSourcedBehavior[TypedExampleCommand, TypedEvent, TypedExampleState]( + persistenceId = PersistenceId("example-id"), + emptyState = new TypedExampleState, + commandHandler = + (state, cmd) => cmd match { + case TypedExampleWriteCommand(data) => Effect.persist(TypedEvent(s"$data ${state.size}")) + case TypedExamplePrint => println(state); Effect.none + }, eventHandler = (state, event) ⇒ event match { case TypedEvent(_) => state.updated(event) - } + }, ) - + } } -