diff --git a/akka-persistence/src/main/scala/akka/persistence/fsm/PersistentFSM.scala b/akka-persistence/src/main/scala/akka/persistence/fsm/PersistentFSM.scala index d9a8da4405..a41e72b12a 100644 --- a/akka-persistence/src/main/scala/akka/persistence/fsm/PersistentFSM.scala +++ b/akka-persistence/src/main/scala/akka/persistence/fsm/PersistentFSM.scala @@ -62,6 +62,7 @@ private[akka] class SnapshotAfter(config: Config) extends Extension { * State Data is constructed based on domain events, according to user's implementation of applyEvent function. * */ +@deprecated("Use EventSourcedBehavior", "2.6.0") trait PersistentFSM[S <: FSMState, D, E] extends PersistentActor with PersistentFSMBase[S, D, E] with ActorLogging { import akka.persistence.fsm.PersistentFSM._ @@ -178,6 +179,7 @@ trait PersistentFSM[S <: FSMState, D, E] extends PersistentActor with Persistent } } +@deprecated("Use EventSourcedBehavior", "2.6.0") object PersistentFSM { /** @@ -484,6 +486,7 @@ object PersistentFSM { * Persistent Finite State Machine actor abstract base class. * */ +@deprecated("Use EventSourcedBehavior", "2.6.0") abstract class AbstractPersistentFSM[S <: FSMState, D, E] extends AbstractPersistentFSMBase[S, D, E] with PersistentFSM[S, D, E] { @@ -521,6 +524,7 @@ abstract class AbstractPersistentFSM[S <: FSMState, D, E] * */ @silent("deprecated") +@deprecated("Use EventSourcedBehavior", "2.6.0") abstract class AbstractPersistentLoggingFSM[S <: FSMState, D, E] extends AbstractPersistentFSM[S, D, E] with LoggingPersistentFSM[S, D, E] diff --git a/akka-persistence/src/main/scala/akka/persistence/fsm/PersistentFSMBase.scala b/akka-persistence/src/main/scala/akka/persistence/fsm/PersistentFSMBase.scala index 7482d8a2bd..1daf5dcb70 100644 --- a/akka-persistence/src/main/scala/akka/persistence/fsm/PersistentFSMBase.scala +++ b/akka-persistence/src/main/scala/akka/persistence/fsm/PersistentFSMBase.scala @@ -95,6 +95,7 @@ import scala.concurrent.duration.FiniteDuration * * */ +@deprecated("Use EventSourcedBehavior", "2.6.0") trait PersistentFSMBase[S, D, E] extends Actor with Listeners with ActorLogging { import akka.persistence.fsm.PersistentFSM._ @@ -627,6 +628,7 @@ trait PersistentFSMBase[S, D, E] extends Actor with Listeners with ActorLogging * debug logging capabilities (analogous to [[akka.event.LoggingReceive]]). * */ +@deprecated("Use EventSourcedBehavior", "2.6.0") trait LoggingPersistentFSM[S, D, E] extends PersistentFSMBase[S, D, E] { this: Actor => import akka.persistence.fsm.PersistentFSM._ @@ -696,6 +698,7 @@ trait LoggingPersistentFSM[S, D, E] extends PersistentFSMBase[S, D, E] { this: A * Java API: compatible with lambda expressions * */ +@deprecated("Use EventSourcedBehavior", "2.6.0") object AbstractPersistentFSMBase { /** @@ -715,6 +718,7 @@ object AbstractPersistentFSMBase { * Finite State Machine actor abstract base class. * */ +@deprecated("Use EventSourcedBehavior", "2.6.0") abstract class AbstractPersistentFSMBase[S, D, E] extends PersistentFSMBase[S, D, E] { import akka.persistence.fsm.japi.pf.FSMStateFunctionBuilder import akka.persistence.fsm.japi.pf.FSMStopBuilder diff --git a/akka-persistence/src/main/scala/akka/persistence/serialization/MessageSerializer.scala b/akka-persistence/src/main/scala/akka/persistence/serialization/MessageSerializer.scala index 9b8b9d74c2..6e8598e437 100644 --- a/akka-persistence/src/main/scala/akka/persistence/serialization/MessageSerializer.scala +++ b/akka-persistence/src/main/scala/akka/persistence/serialization/MessageSerializer.scala @@ -11,14 +11,18 @@ import akka.persistence.fsm.PersistentFSM.{ PersistentFSMSnapshot, StateChangeEv import akka.persistence.serialization.{ MessageFormats => mf } import akka.serialization._ import akka.protobuf._ + import scala.collection.immutable import scala.collection.immutable.VectorBuilder import scala.concurrent.duration import akka.actor.Actor import akka.util.ccompat._ + import scala.concurrent.duration.Duration import java.io.NotSerializableException +import com.github.ghik.silencer.silent + /** * Marker trait for all protobuf-serializable messages in `akka.persistence`. */ @@ -125,6 +129,7 @@ class MessageSerializer(val system: ExtendedActorSystem) extends BaseSerializer AtLeastOnceDeliverySnapshot(atLeastOnceDeliverySnapshot.getCurrentDeliveryId, unconfirmedDeliveries.result()) } + @silent("deprecated") def stateChange(persistentStateChange: mf.PersistentStateChangeEvent): StateChangeEvent = { StateChangeEvent( persistentStateChange.getStateIdentifier, diff --git a/akka-persistence/src/test/scala/akka/persistence/fsm/PersistentFSMSpec.scala b/akka-persistence/src/test/scala/akka/persistence/fsm/PersistentFSMSpec.scala index 41ff40e87c..40da681d2c 100644 --- a/akka-persistence/src/test/scala/akka/persistence/fsm/PersistentFSMSpec.scala +++ b/akka-persistence/src/test/scala/akka/persistence/fsm/PersistentFSMSpec.scala @@ -10,6 +10,7 @@ import akka.actor.{ ActorSystem, _ } import akka.persistence._ import akka.persistence.fsm.PersistentFSM._ import akka.testkit._ +import com.github.ghik.silencer.silent import com.typesafe.config.{ Config, ConfigFactory } import org.apache.commons.io.FileUtils @@ -17,6 +18,7 @@ import scala.concurrent.duration._ import scala.language.postfixOps import scala.reflect.ClassTag +@silent("deprecated") abstract class PersistentFSMSpec(config: Config) extends PersistenceSpec(config) with ImplicitSender { import PersistentFSMSpec._ @@ -398,6 +400,7 @@ abstract class PersistentFSMSpec(config: Config) extends PersistenceSpec(config) } } +@silent("deprecated") object PersistentFSMSpec { //#customer-states sealed trait UserState extends FSMState