.akka.akka-projection-core_3.1.5.0-M3.source-code.reference.conf Maven / Gradle / Ivy
# This defines the default configuration for akka-projection-core.
# Make your edits/overrides in your application.conf.
//#restart-backoff
akka.projection {
# The configuration to use to restart the projection after an underlying streams failure
# The Akka streams restart source is used to facilitate this behaviour
# See the streams documentation for more details
# https://doc.akka.io/docs/akka/current/stream/stream-error.html#delayed-restarts-with-a-backoff-operator
restart-backoff {
min-backoff = 3s
max-backoff = 30s
random-factor = 0.2
# -1 will not cap the amount of restarts
# 0 will disable restarts
max-restarts = -1
}
}
//#restart-backoff
//#recovery-strategy
akka.projection {
# The strategy to use to recover from unhandled exceptions without causing the projection to fail
recovery-strategy {
# fail - If the first attempt to invoke the handler fails it will immediately give up and fail the stream.
# skip - If the first attempt to invoke the handler fails it will immediately give up, discard the element and
# continue with next.
# retry-and-fail - If the first attempt to invoke the handler fails it will retry invoking the handler with the
# same envelope this number of `retries` with the `delay` between each attempt. It will give up
# and fail the stream if all attempts fail.
# retry-and-skip - If the first attempt to invoke the handler fails it will retry invoking the handler with the
# same envelope this number of `retries` with the `delay` between each attempt. It will give up,
# discard the element and continue with next if all attempts fail.
strategy = fail
# The number of times to retry handler function
# This is only applicable to `retry-and-fail` and `retry-and-skip` recovery strategies
retries = 5
# The delay between retry attempts
# Only applicable to `retry-and-fail` and `retry-and-skip` recovery strategies
retry-delay = 1 s
}
}
//#recovery-strategy
akka.projection {
at-least-once {
save-offset-after-envelopes = 100
save-offset-after-duration = 500 ms
}
grouped {
group-after-envelopes = 20
group-after-duration = 500 ms
}
management {
# timeout for the operations in ProjectionManagement
operation-timeout = 10 s
# timeout for individual management requests, they are retried in case of timeout until the operation-timeout
ask-timeout = 3 s
}
}
akka {
actor {
serializers {
akka-projection = "akka.projection.internal.ProjectionSerializer"
}
serialization-identifiers {
"akka.projection.internal.ProjectionSerializer" = 1558148900
}
serialization-bindings {
"akka.projection.ProjectionBehavior$Internal$ProjectionManagementCommand" = akka-projection
"akka.projection.ProjectionBehavior$Internal$CurrentOffset" = akka-projection
}
}
}