Record Class ManagedSagaProfile
java.lang.Object
java.lang.Record
org.j7m.middleware.application.distributed.ManagedSagaProfile
- Record Components:
backend- ordinary scope-authorized durable execution clientadministration- optional separately server-authorized compensation/reconciliation capabilitycodec- trusted immutable data codec with a bounded native-safe frame sizenamespace- stable host-owned resource namespacelease- fixed native ownership lease, 2seconds..1daypollInterval- unavailable connection/admission retry delay, 10milliseconds..1minuteoperationBudget- maximum native operation budget, 1millisecond..25secondshandlerBudget- per-callback maximum, less than lease minus clock/operation marginmaximumCompensationAttempts- native bounded retry count, 1..1000compensationBackoff- native exponential retry base, 1millisecond..1hour
public record ManagedSagaProfile(ManagedExecutionBackend backend, ManagedExecutionBackend administration, ManagedPayloadCodec codec, String namespace, Duration lease, Duration pollInterval, Duration operationBudget, Duration handlerBudget, int maximumCompensationAttempts, Duration compensationBackoff)
extends Record
Trusted bounded saga capabilities; annotations never select endpoints or an administrative key.
Clients are borrowed. Definition input/result framing uses the supplied data-only schema codec.
-
Constructor Summary
ConstructorsConstructorDescriptionManagedSagaProfile(ManagedExecutionBackend backend, ManagedExecutionBackend administration, ManagedPayloadCodec codec, String namespace, Duration lease, Duration pollInterval, Duration operationBudget, Duration handlerBudget, int maximumCompensationAttempts, Duration compensationBackoff) Validates finite capabilities and timing without I/O or starting application work. -
Method Summary
Modifier and TypeMethodDescriptionReturns the value of theadministrationrecord component.backend()Returns the value of thebackendrecord component.codec()Returns the value of thecodecrecord component.Returns the value of thecompensationBackoffrecord component.final booleanIndicates whether some other object is "equal to" this one.Returns the value of thehandlerBudgetrecord component.final inthashCode()Returns a hash code value for this object.lease()Returns the value of theleaserecord component.intReturns the value of themaximumCompensationAttemptsrecord component.Returns the value of thenamespacerecord component.Returns the value of theoperationBudgetrecord component.Returns the value of thepollIntervalrecord component.toString()Omits resource namespace and capability identities.
-
Constructor Details
-
ManagedSagaProfile
public ManagedSagaProfile(ManagedExecutionBackend backend, ManagedExecutionBackend administration, ManagedPayloadCodec codec, String namespace, Duration lease, Duration pollInterval, Duration operationBudget, Duration handlerBudget, int maximumCompensationAttempts, Duration compensationBackoff) Validates finite capabilities and timing without I/O or starting application work.- Throws:
NullPointerException- for required capabilities or durationsIllegalArgumentException- for invalid bounds
-
-
Method Details
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object); primitive components are compared with thecomparemethod from their corresponding wrapper classes. -
backend
-
administration
Returns the value of theadministrationrecord component.- Returns:
- the value of the
administrationrecord component
-
codec
-
namespace
-
lease
-
pollInterval
Returns the value of thepollIntervalrecord component.- Returns:
- the value of the
pollIntervalrecord component
-
operationBudget
Returns the value of theoperationBudgetrecord component.- Returns:
- the value of the
operationBudgetrecord component
-
handlerBudget
Returns the value of thehandlerBudgetrecord component.- Returns:
- the value of the
handlerBudgetrecord component
-
maximumCompensationAttempts
public int maximumCompensationAttempts()Returns the value of themaximumCompensationAttemptsrecord component.- Returns:
- the value of the
maximumCompensationAttemptsrecord component
-
compensationBackoff
Returns the value of thecompensationBackoffrecord component.- Returns:
- the value of the
compensationBackoffrecord component
-