in slick/src/main/scala/org/apache/pekko/projection/slick/internal/SlickProjectionImpl.scala [137:148]
override def withRecoveryStrategy(
recoveryStrategy: HandlerRecoveryStrategy): SlickProjectionImpl[Offset, Envelope, P] = {
val newStrategy =
offsetStrategy match {
case s: ExactlyOnce => s.copy(recoveryStrategy = Some(recoveryStrategy))
case s: AtLeastOnce => s.copy(recoveryStrategy = Some(recoveryStrategy))
// NOTE: AtMostOnce has its own withRecoveryStrategy variant
// this method is not available for AtMostOnceProjection
case s: AtMostOnce => s
}
copy(offsetStrategy = newStrategy)
}