Class ManagedClientRetry

java.lang.Object
org.j7m.middleware.application.components.ManagedClientRetry
All Implemented Interfaces:
org.j7m.middleware.application.api.ClientCallInterceptor

public final class ManagedClientRetry extends Object implements org.j7m.middleware.application.api.ClientCallInterceptor
Host-installed finite retry for failures of the binding's read-only connector before business entry. Once the private binding attempt reports business entry, every outcome is returned without replay, including errors claiming NOT_STARTED. This is not a durable deduplication protocol. Instances are immutable and thread-safe; waiting remains within the original local deadline.
  • Constructor Details

    • ManagedClientRetry

      public ManagedClientRetry(Map<String, org.j7m.middleware.application.api.ClientRetryProfile> profiles)
      Registers finite retry policies explicitly; annotation presence grants no capability.
      Parameters:
      profiles - at most256 bounded names mapped to immutable host profiles
      Throws:
      IllegalArgumentException - for an invalid name, capacity or null profile
      NullPointerException - if profiles is null
  • Method Details

    • validate

      public void validate(Class<?> contract)
      Specified by:
      validate in interface org.j7m.middleware.application.api.ClientCallInterceptor
    • invoke

      public Object invoke(org.j7m.middleware.application.api.ClientCall call, org.j7m.middleware.application.api.ClientAttempt attempt) throws Throwable
      Specified by:
      invoke in interface org.j7m.middleware.application.api.ClientCallInterceptor
      Throws:
      Throwable