Record Class ManagedSagaProfile

java.lang.Object
java.lang.Record
org.j7m.middleware.application.distributed.ManagedSagaProfile
Record Components:
backend - ordinary scope-authorized durable execution client
administration - optional separately server-authorized compensation/reconciliation capability
codec - trusted immutable data codec with a bounded native-safe frame size
namespace - stable host-owned resource namespace
lease - fixed native ownership lease, 2seconds..1day
pollInterval - unavailable connection/admission retry delay, 10milliseconds..1minute
operationBudget - maximum native operation budget, 1millisecond..25seconds
handlerBudget - per-callback maximum, less than lease minus clock/operation margin
maximumCompensationAttempts - native bounded retry count, 1..1000
compensationBackoff - 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 Details

  • Method Details

    • toString

      public String toString()
      Omits resource namespace and capability identities.
      Specified by:
      toString in class Record
      Returns:
      fixed safe label
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      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 with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • backend

      public ManagedExecutionBackend backend()
      Returns the value of the backend record component.
      Returns:
      the value of the backend record component
    • administration

      public ManagedExecutionBackend administration()
      Returns the value of the administration record component.
      Returns:
      the value of the administration record component
    • codec

      public ManagedPayloadCodec codec()
      Returns the value of the codec record component.
      Returns:
      the value of the codec record component
    • namespace

      public String namespace()
      Returns the value of the namespace record component.
      Returns:
      the value of the namespace record component
    • lease

      public Duration lease()
      Returns the value of the lease record component.
      Returns:
      the value of the lease record component
    • pollInterval

      public Duration pollInterval()
      Returns the value of the pollInterval record component.
      Returns:
      the value of the pollInterval record component
    • operationBudget

      public Duration operationBudget()
      Returns the value of the operationBudget record component.
      Returns:
      the value of the operationBudget record component
    • handlerBudget

      public Duration handlerBudget()
      Returns the value of the handlerBudget record component.
      Returns:
      the value of the handlerBudget record component
    • maximumCompensationAttempts

      public int maximumCompensationAttempts()
      Returns the value of the maximumCompensationAttempts record component.
      Returns:
      the value of the maximumCompensationAttempts record component
    • compensationBackoff

      public Duration compensationBackoff()
      Returns the value of the compensationBackoff record component.
      Returns:
      the value of the compensationBackoff record component