Class AgentRulesConfiguration
java.lang.Object
com.xebialabs.xlrelease.agentrules.config.AgentRulesConfiguration
Stands up the agentic-triggers surface: the event-bus dispatcher that matches domain events
against
agentic.Rule configurations and dispatches agents.
The dispatcher gets its own small executor rather than the shared auxiliary pool: an agent run holds a thread for a whole LLM turn (minutes), and parking those on the 8-thread auxiliary pool would starve notifications, A2A push callbacks and plugin abort delivery during a failure wave. Four threads is deliberate: combined with the per-release run budget it is the hard concurrency ceiling on LLM spend.
The A2aAgentGateway is resolved lazily through an ObjectProvider: the
gateway bean lives in the A2A server module, and this module must degrade to a visible
failure — not break the context — if that module is ever absent from a distribution.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionagentRuleDispatcher(com.xebialabs.xlrelease.events.XLReleaseEventBus eventBus, org.springframework.beans.factory.ObjectProvider<com.xebialabs.xlrelease.a2a.api.A2aAgentGateway> gateway, com.xebialabs.xlrelease.service.CommentService commentService, com.xebialabs.xlrelease.repository.ConfigurationRepository configurationRepository, com.xebialabs.xlrelease.config.XlrConfig xlrConfig, AgentRuleRunStore runStore, AgentRuleProposalStore proposalStore, com.xebialabs.xlrelease.actors.ReleaseActorService releaseActorService, com.xebialabs.xlrelease.repository.ReleaseRepository releaseRepository, com.xebialabs.xlrelease.service.VariableService variableService, AgentRuleTokenService tokenService, ExecutorService executor) agentRuleTokenService(com.xebialabs.xlrelease.config.XlrConfig xlrConfig, org.springframework.beans.factory.ObjectProvider<org.springframework.security.oauth2.client.OAuth2AuthorizedClientManager> hostManager)
-
Constructor Details
-
AgentRulesConfiguration
public AgentRulesConfiguration()
-
-
Method Details
-
agentRulesExecutor
@Bean(name="agentRulesExecutor", destroyMethod="shutdownNow") public ExecutorService agentRulesExecutor() -
agentRuleRunStore
-
agentRuleProposalStore
-
agentRuleTokenService
@Bean public AgentRuleTokenService agentRuleTokenService(com.xebialabs.xlrelease.config.XlrConfig xlrConfig, org.springframework.beans.factory.ObjectProvider<org.springframework.security.oauth2.client.OAuth2AuthorizedClientManager> hostManager) -
agentRuleDispatcher
@Bean public AgentRuleDispatcher agentRuleDispatcher(com.xebialabs.xlrelease.events.XLReleaseEventBus eventBus, org.springframework.beans.factory.ObjectProvider<com.xebialabs.xlrelease.a2a.api.A2aAgentGateway> gateway, com.xebialabs.xlrelease.service.CommentService commentService, com.xebialabs.xlrelease.repository.ConfigurationRepository configurationRepository, com.xebialabs.xlrelease.config.XlrConfig xlrConfig, AgentRuleRunStore runStore, AgentRuleProposalStore proposalStore, com.xebialabs.xlrelease.actors.ReleaseActorService releaseActorService, com.xebialabs.xlrelease.repository.ReleaseRepository releaseRepository, com.xebialabs.xlrelease.service.VariableService variableService, AgentRuleTokenService tokenService, @Qualifier("agentRulesExecutor") ExecutorService executor)
-