refactor(transport): Replace SseEmitter with queue-based SSE implementation in WebMvc transport

Replaces Spring's SseEmitter with a custom BlockingQueue-based SSE implementation in
WebMvcSseServerTransport for improved event delivery control and connection management.

The new implementation:
- Uses BlockingQueue for reliable event queuing and delivery
- Adds proper session management with dedicated SSEEvent record
- Improves error handling and timeout management
- Adds comprehensive integration tests

Resolves #57
This commit is contained in:
Christian Tzolov 2025-01-11 14:55:52 +01:00 • committed by Christian Tzolov
commit edbd78465c

View file

@ -27,6 +27,13 @@
<artifactId>mcp-webmvc-sse-transport</artifactId>
<version>${spring-ai-mcp.version}</version>
</dependency>
<!-- Used only for the client webflux transport -->
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>mcp-webflux-sse-transport</artifactId>
<version>${spring-ai-mcp.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>spring-ai-mcp</artifactId>