Class A2aServerConfiguration
java.lang.Object
com.xebialabs.xlrelease.a2a.config.A2aServerConfiguration
Stands up Release's A2A server surface, mirroring
McpServerConfiguration's structure:
the JSON-RPC endpoint servlet at <servlet-path>/a2a behind the feature-toggle filter,
and the Agent Card at the spec's well-known path /.well-known/agent-card.json (which
checks the toggle itself, as the well-known path sits outside the servlet base path).
Skills are explicit beans here in Phase 0; the plugin-contributed skill bridge (the
McpToolsetBridge pattern) replaces this list in a later phase.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.boot.web.servlet.ServletRegistrationBean<A2aAgentCardServlet> a2aAgentCardServlet(A2aSkillRegistry skills, com.xebialabs.deployit.ServerConfiguration serverConfiguration, org.springframework.beans.factory.ObjectProvider<org.springframework.boot.webmvc.autoconfigure.WebMvcProperties> webMvcProperties) a2aCallbacks(com.xebialabs.deployit.ServerConfiguration serverConfiguration, org.springframework.beans.factory.ObjectProvider<org.springframework.boot.webmvc.autoconfigure.WebMvcProperties> webMvcProperties) org.springframework.boot.web.servlet.ServletRegistrationBean<A2aCallbackServlet> a2aCallbackServlet(A2aCallbacks callbacks, com.xebialabs.xlrelease.service.ExecutionService executionService, org.springframework.beans.factory.ObjectProvider<org.springframework.boot.webmvc.autoconfigure.WebMvcProperties> webMvcProperties) org.springframework.boot.web.servlet.ServletRegistrationBean<A2aJsonRpcServlet> a2aJsonRpcServlet(A2aSkillRegistry skills, A2aTaskStore taskStore, A2aReleaseTaskMapper releaseTaskMapper, A2aPushNotificationRegistry pushRegistry, org.springframework.beans.factory.ObjectProvider<org.springframework.boot.webmvc.autoconfigure.WebMvcProperties> webMvcProperties) a2aPushNotificationSender(A2aPushNotificationRegistry registry, A2aReleaseTaskMapper mapper, com.xebialabs.xlrelease.events.XLReleaseEventBus eventBus, ExecutorService auxiliaryExecutor) a2aReleaseTaskMapper(com.xebialabs.xlrelease.api.v1.ReleaseApi releaseApi) org.springframework.boot.web.servlet.FilterRegistrationBean<A2aServerEnabledFilter> a2aServerEnabledFilter(org.springframework.beans.factory.ObjectProvider<org.springframework.boot.webmvc.autoconfigure.WebMvcProperties> webMvcProperties) a2aSkillRegistry(List<A2aServerSkill> builtInSkills) Seeded with the built-in skill beans;A2aSkillsetBridgeadds and removes plugin-contributed skills at runtime.getReleaseStatusSkill(com.xebialabs.xlrelease.api.v1.ReleaseApi releaseApi, A2aReleaseTaskMapper mapper) orchestrateReleaseSkill(com.xebialabs.xlrelease.api.v1.TemplateApi templateApi) requestDeploymentApprovalSkill(com.xebialabs.xlrelease.api.v1.TemplateApi templateApi)
-
Constructor Details
-
A2aServerConfiguration
public A2aServerConfiguration()
-
-
Method Details
-
a2aCallbacks
@Bean public A2aCallbacks a2aCallbacks(com.xebialabs.deployit.ServerConfiguration serverConfiguration, org.springframework.beans.factory.ObjectProvider<org.springframework.boot.webmvc.autoconfigure.WebMvcProperties> webMvcProperties) -
a2aPushNotificationRegistry
-
a2aPushNotificationSender
@Bean public A2aPushNotificationSender a2aPushNotificationSender(A2aPushNotificationRegistry registry, A2aReleaseTaskMapper mapper, com.xebialabs.xlrelease.events.XLReleaseEventBus eventBus, @Qualifier("auxiliary") ExecutorService auxiliaryExecutor) -
a2aCallbackServlet
@Bean public org.springframework.boot.web.servlet.ServletRegistrationBean<A2aCallbackServlet> a2aCallbackServlet(A2aCallbacks callbacks, com.xebialabs.xlrelease.service.ExecutionService executionService, org.springframework.beans.factory.ObjectProvider<org.springframework.boot.webmvc.autoconfigure.WebMvcProperties> webMvcProperties) -
a2aReleaseTaskMapper
@Bean public A2aReleaseTaskMapper a2aReleaseTaskMapper(com.xebialabs.xlrelease.api.v1.ReleaseApi releaseApi) -
getReleaseStatusSkill
@Bean public GetReleaseStatusSkill getReleaseStatusSkill(com.xebialabs.xlrelease.api.v1.ReleaseApi releaseApi, A2aReleaseTaskMapper mapper) -
requestDeploymentApprovalSkill
@Bean public RequestDeploymentApprovalSkill requestDeploymentApprovalSkill(com.xebialabs.xlrelease.api.v1.TemplateApi templateApi) -
orchestrateReleaseSkill
@Bean public OrchestrateReleaseSkill orchestrateReleaseSkill(com.xebialabs.xlrelease.api.v1.TemplateApi templateApi) -
a2aTaskStore
-
a2aSkillRegistry
Seeded with the built-in skill beans;A2aSkillsetBridgeadds and removes plugin-contributed skills at runtime. The servlets read it per request, so the Agent Card follows the live set. -
a2aJsonRpcServlet
@Bean public org.springframework.boot.web.servlet.ServletRegistrationBean<A2aJsonRpcServlet> a2aJsonRpcServlet(A2aSkillRegistry skills, A2aTaskStore taskStore, A2aReleaseTaskMapper releaseTaskMapper, A2aPushNotificationRegistry pushRegistry, org.springframework.beans.factory.ObjectProvider<org.springframework.boot.webmvc.autoconfigure.WebMvcProperties> webMvcProperties) -
a2aAgentCardServlet
@Bean public org.springframework.boot.web.servlet.ServletRegistrationBean<A2aAgentCardServlet> a2aAgentCardServlet(A2aSkillRegistry skills, com.xebialabs.deployit.ServerConfiguration serverConfiguration, org.springframework.beans.factory.ObjectProvider<org.springframework.boot.webmvc.autoconfigure.WebMvcProperties> webMvcProperties) -
a2aServerEnabledFilter
@Bean public org.springframework.boot.web.servlet.FilterRegistrationBean<A2aServerEnabledFilter> a2aServerEnabledFilter(org.springframework.beans.factory.ObjectProvider<org.springframework.boot.webmvc.autoconfigure.WebMvcProperties> webMvcProperties)
-