Class WebAgentSessionManagerBuilder
WebAgentSessionManager (design §11.2).
Required collaborators: AgentSessionFactory, ConversationRepository. SPIs (ConversationLock,
ConversationSignalBus, ConversationInbox, IdempotencyStore) are injected explicitly in
DeploymentMode.DISTRIBUTED mode and default to in-memory implementations in SINGLE_NODE.
Operational tunables (idleTtl, maxCachedSessions, lockLease, lockExtendInterval,
holderLossSweepInterval, idempotencyPrimaryTtl, idempotencySecondaryTtl) carry sensible
defaults. Internal components (LeaseRenewer, InProcessEventPublisher, LocalSessionCache,
BindingResolver) are managed by the manager and never injected from outside.
In DISTRIBUTED mode the builder fails fast at build() when any SPI is missing or nodeId is
unset — this prevents accidentally running with an in-memory SPI on a multi-node deployment.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild()conversationRepository(at.aimon.core.agent.conversation.ConversationRepository v) maxCachedSessions(int v) sessionFactory(at.aimon.core.agent.session.AgentSessionFactory v)
-
Field Details
-
DEFAULT_IDLE_TTL
-
DEFAULT_MAX_CACHED_SESSIONS
public static final int DEFAULT_MAX_CACHED_SESSIONS- See Also:
-
DEFAULT_LOCK_LEASE
-
DEFAULT_LOCK_EXTEND_INTERVAL
-
DEFAULT_HOLDER_LOSS_SWEEP_INTERVAL
-
DEFAULT_IDEMPOTENCY_PRIMARY_TTL
-
DEFAULT_IDEMPOTENCY_SECONDARY_TTL
-
DEFAULT_RELEASE_INTERRUPT_TIMEOUT
-
-
Constructor Details
-
WebAgentSessionManagerBuilder
public WebAgentSessionManagerBuilder()
-
-
Method Details
-
sessionFactory
public WebAgentSessionManagerBuilder sessionFactory(at.aimon.core.agent.session.AgentSessionFactory v) -
conversationRepository
public WebAgentSessionManagerBuilder conversationRepository(at.aimon.core.agent.conversation.ConversationRepository v) -
conversationLock
-
signalBus
-
conversationInbox
-
idempotencyStore
-
mode
-
nodeId
-
idleTtl
-
maxCachedSessions
-
lockLease
-
lockExtendInterval
-
holderLossSweepInterval
-
idempotencyPrimaryTtl
-
idempotencySecondaryTtl
-
releaseInterruptTimeout
-
metrics
-
build
-