当前位置: 首页 > news >正文

炸裂:SpringAI新版发布,终于支持断线重连了!

盼星星盼月亮,Spring AI 新版 1.1.0-M1(1.1.0 里程式版本)终于支持 Steamable HTTP 了,也就意味着 Spring AI 的 MCP 服务终于支持自动断线重连了。

1.SteamableHTTP

定义:Streamable HTTP 是基于标准 HTTP 协议的流式数据传输模式,允许客户端或服务器在数据完全生成前,分块(Chunk)传输数据,实现“边生成、边传输、边使用”的实时通信效果。它不是新协议,而是对 HTTP 的优化用法,结合了分块传输、连接复用、断线重连等特性。

2.SteamableHTTP和SSE

SSE 是 Spring AI 此次新版发布之前主要使用的通讯协议,是一种基于 HTTP 协议的 服务器向客户端单向推送数据 的技术,允许服务器在建立连接后 随时向客户端发送实时更新,无需客户端反复发起请求。它是 HTML5 标准的一部分,设计简单,适合需要实时通知但无需双向通信的场景。

SSE 和 Steamable HTTP 的主要区别如下:

维度 SSE Streamable HTTP
灵活性 ❌ 仅单向通信,格式受限 ✅ 支持双向、多格式、断点续传
性能 ❌ 高并发时资源占用高 ✅ 高并发下更高效

3.使用SteamableHTTP

Steamable HTTP 在新版中的使用如下。

先添加新版依赖:

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-mcp-server-webflux</artifactId><version>1.1.0-M1</version>
</dependency>

配置使用 Steamable 协议:

spring:ai:mcp:server:protocol: STREAMABLE # 配置使用 Steamable 协议

客户端也添加对应的新版本依赖:

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-mcp-client-webflux</artifactId><version>1.1.0-M1</version>
</dependency>

之后配置 MCP 服务器地址就可以直接调用了:

spring:mcp:client:streamable-http:connections:weather-server:url: http://localhost:10086/api   # 指向刚才启动的 MCP Server

其他实现代码不变。

4.视频实现演示

https://www.bilibili.com/video/BV1xYHez5EEM/

小结

Spring AI 之前版本最被人诟病的就是不支持 Streamable HTTP,所以在实现自定义 MCP 服务器端时很麻烦,需要自己手动实现断线自动重连功能。但现在新版本支持之后我们就可以非常方便的实现 MCP 服务了,大家可以动手试一下。

本文已收录到我的技术小站 www.javacn.site,其中包含的内容有:Spring AI、LangChain4j、Dify、Coze、Spring AI Alibaba、智能体(AI Agent)、MCP、Function Call、RAG、向量数据库、Prompt、多模态、向量数据库、嵌入模型、AI 常见面试问题等内容。

http://www.wxhsa.cn/company.asp?id=1158

相关文章:

  • spring 事务实战:声明式vs 编程式
  • 【JPCS独立出版Fellow杰青云集】2025年先进材料与航空航天结构力学国际学术会议(AMASM 2025)
  • 算法-TSP旅行商问题-03 - jack
  • ArkTS
  • 一文读懂基因检测PLM、体外诊断试剂PLM的功能、价值、解决方案
  • ai本地部署工具有哪些?新手入门AI推荐这几个
  • 匿名内部类
  • 文件上传、分片上传结合antdProComponents表格展示,点击上传
  • 2025 年 PLM 市场新锐崛起:五家厂商以创新技术引领行业变革新路径
  • 2025 年国产 PLM 系统发展全景:厂商实力与核心功能深度解读
  • 开发效率翻倍!编码助手+云效 AI 评审如何破解代码质量与速度难题?
  • SSL部署完成,https显示连接不安全如何处理?
  • 各省简称
  • 完整教程:HDFS基准测试与数据治理
  • var code = 76cb2b4f-5a26-4a70-a3bf-dc8f2ae5162f
  • 解放双手!三端通用的鼠标连点神器
  • 用 C# 与 Tesseract 实现验证码识别系统
  • 【9月19日最终截稿,SPIE出版】2025年信息工程、智能信息技术与人工智能国际学术会议(IEITAI 2025)
  • Dockerfile:如何用CMD同时启动两个进程
  • 启动GA-Event Activated,结束GA-End Ability
  • VMware Avi Load Balancer 31.1.2 发布 - 多云负载均衡平台
  • C# WinForms 使用 CyUSB.dll 访问 USB 设备
  • NKOJ全TJ计划——NP3990
  • Linux redis 8.2.1源码编译
  • MarkDown学习
  • 202003_MRCTF_千层套娃
  • 基于MATLAB的粒子群算法优化广义回归神经网络的实现
  • MySql EXPLAIN 详解
  • Transformer完整实现及注释
  • 数据策略与模型算法