Class ManagedInboxPolicy

java.lang.Object
org.j7m.middleware.application.distributed.ManagedInboxPolicy
All Implemented Interfaces:
org.j7m.middleware.application.components.ManagedInvocationPolicy

public final class ManagedInboxPolicy extends Object implements org.j7m.middleware.application.components.ManagedInvocationPolicy
Local SQL inbox policy inside the actual A11 JDBC transaction. The marker and application SQL effect use exactly the same guarded Connection. An identical committed delivery skips only the handler body after current authorization; receipt/generation changes never create a new SQL ID. Async work is finalized by the existing lifetime/JDBC policy, never by blocking inside Mutation. External non-DB effects are outside this protocol and must not be claimed as exactly once.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final record 
    Trusted SQL namespace and exact participating JDBC capability.

    Nested classes/interfaces inherited from interface org.j7m.middleware.application.components.ManagedInvocationPolicy

    org.j7m.middleware.application.components.ManagedInvocationPolicy.Binding, org.j7m.middleware.application.components.ManagedInvocationPolicy.Phase, org.j7m.middleware.application.components.ManagedInvocationPolicy.Proceed
  • Constructor Summary

    Constructors
    Constructor
    Description
    Registers at most256 finite explicitly trusted inbox profiles.
  • Method Summary

    Modifier and Type
    Method
    Description
    Set<Class<? extends Annotation>>
    Declares only the actual SQL inbox capability.
    org.j7m.middleware.application.components.ManagedInvocationPolicy.Binding
    bind(org.j7m.middleware.application.api.ManagedServiceContract contract, Class<?> implementation, Class<?> businessInterface)
    Binds SQL duplicate suppression without opening a second connection.
    org.j7m.middleware.application.components.ManagedInvocationPolicy.Phase
    Runs inside the participating JDBC transaction and all earlier security/replay policies.
    void
    validate(org.j7m.middleware.application.api.ManagedServiceContract contract, Class<?> implementation, Class<?> businessInterface)
    Rejects unsupported callback shapes and missing/mismatched JDBC metadata before constructors.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.j7m.middleware.application.components.ManagedInvocationPolicy

    bindHosted, validateComponent, validateExposure, validateHosted, validateHostedExposure, validateHostedExposure
  • Constructor Details

  • Method Details

    • phase

      public org.j7m.middleware.application.components.ManagedInvocationPolicy.Phase phase()
      Runs inside the participating JDBC transaction and all earlier security/replay policies.
      Specified by:
      phase in interface org.j7m.middleware.application.components.ManagedInvocationPolicy
      Returns:
      APPLICATION phase; no new global phase is introduced
    • annotationTypes

      public Set<Class<? extends Annotation>> annotationTypes()
      Declares only the actual SQL inbox capability.
      Specified by:
      annotationTypes in interface org.j7m.middleware.application.components.ManagedInvocationPolicy
      Returns:
      exact immutable marker set
    • validate

      public void validate(org.j7m.middleware.application.api.ManagedServiceContract contract, Class<?> implementation, Class<?> businessInterface)
      Rejects unsupported callback shapes and missing/mismatched JDBC metadata before constructors.
      Specified by:
      validate in interface org.j7m.middleware.application.components.ManagedInvocationPolicy
      Parameters:
      contract - complete generated hosted contract
      implementation - actual component
      businessInterface - actual hosted component or ordinary RPC interface
      Throws:
      IllegalArgumentException - for unsupported shape, profile or nonhosted entry
    • bind

      public org.j7m.middleware.application.components.ManagedInvocationPolicy.Binding bind(org.j7m.middleware.application.api.ManagedServiceContract contract, Class<?> implementation, Class<?> businessInterface)
      Binds SQL duplicate suppression without opening a second connection.
      Specified by:
      bind in interface org.j7m.middleware.application.components.ManagedInvocationPolicy
      Parameters:
      contract - verified full contract
      implementation - concrete component
      businessInterface - declared business surface
      Returns:
      owned revocable inbox policy