Remove closed sessions from list in WebMvcSseServerTransport

This commit is contained in:
Dennis Kawurek 2025-02-22 15:33:32 +01:00 • committed by Christian Tzolov
commit bb6514e808

View file

@ -218,6 +218,14 @@ public class WebMvcSseServerTransport implements ServerMcpTransport {
// Send initial endpoint event
try {
return ServerResponse.sse(sseBuilder -> {
sseBuilder.onComplete(() -> {
logger.debug("SSE connection completed for session: {}", sessionId);
sessions.remove(sessionId);
});
sseBuilder.onTimeout(() -> {
logger.debug("SSE connection timed out for session: {}", sessionId);
sessions.remove(sessionId);
});
ClientSession session = new ClientSession(sessionId, sseBuilder);
this.sessions.put(sessionId, session);