Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[Feat]: A2A Client Support fallback to re-select url and transport when first choise fails.

未关闭
#445 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
45/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
停滞
技术栈
java
领域
api, backend

调研方向

查看选择传输方式和 URL 的客户端构建步骤,该步骤可能位于类似 A2AClientBuilder 的类中。了解 AgentInterface 和传输方式选择逻辑。需要将回退机制集成到 sendRequest 方法中,以便在失败时使用备用传输方式重试,也可能需要使用失败次数阈值。查看 A2A 规范第 5.6.3 节,了解传输方式选择规则的相关背景。

由索引模型根据 Issue 内容生成。

描述

Is your feature request related to a problem? Please describe.

According to the spec of A2A. Clients SHOULD implement fallback logic to try alternative transports if their first choice fails. Whice in No.4 from https://a2a-protocol.org/latest/specification/#563-client-transport-selection-rules.

I see the a2a-java client only choise trasport and url during building step and no the fallback to re-choice in any time. Once the transport that choised request fail, the client will be unavailable and users should re-get agentcard and re-build a2a client to used. I think it's not Graceful degradation.

I'm not sure whether there is plan to implement this feature in a2a-java communities. I’m excited to see this fallback mechanism implemented in the client.

Describe the solution you'd like

I think there are two way to implement this featrure.

  1. when client.sendRequest fails with threadhold, client do re-choice transport without current AgentInterface. And let next request use new choised transport.

  2. client not only build one best matched transport during building, but build all matched protocol transport and marked which is current choice. When request failed, client do fallback with other protocol transport to do retry.

Describe alternatives you've considered

No response

Additional context

No response

Code of Conduct
  • I agree to follow this project's Code of Conduct
主要语言
Java
星标
495
派生
174
平均合并
1 天 17 小时
30 天内合并 PR
48

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

a2aproject/a2a-java 的其他 Issue

查看 a2aproject/a2a-java 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。