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 ClassesModifier and TypeClassDescriptionstatic final recordTrusted 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
ConstructorsConstructorDescriptionManagedInboxPolicy(Map<String, ManagedInboxPolicy.Registration> profiles) Registers at most256 finite explicitly trusted inbox profiles. -
Method Summary
Modifier and TypeMethodDescriptionSet<Class<? extends Annotation>> Declares only the actual SQL inbox capability.org.j7m.middleware.application.components.ManagedInvocationPolicy.Bindingbind(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.Phasephase()Runs inside the participating JDBC transaction and all earlier security/replay policies.voidvalidate(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, waitMethods inherited from interface org.j7m.middleware.application.components.ManagedInvocationPolicy
bindHosted, validateComponent, validateExposure, validateHosted, validateHostedExposure, validateHostedExposure
-
Constructor Details
-
ManagedInboxPolicy
Registers at most256 finite explicitly trusted inbox profiles.- Parameters:
profiles- named immutable SQL capabilities- Throws:
IllegalArgumentException- for invalid registry names/capacity
-
-
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:
phasein interfaceorg.j7m.middleware.application.components.ManagedInvocationPolicy- Returns:
- APPLICATION phase; no new global phase is introduced
-
annotationTypes
Declares only the actual SQL inbox capability.- Specified by:
annotationTypesin interfaceorg.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:
validatein interfaceorg.j7m.middleware.application.components.ManagedInvocationPolicy- Parameters:
contract- complete generated hosted contractimplementation- actual componentbusinessInterface- 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:
bindin interfaceorg.j7m.middleware.application.components.ManagedInvocationPolicy- Parameters:
contract- verified full contractimplementation- concrete componentbusinessInterface- declared business surface- Returns:
- owned revocable inbox policy
-