Remove closed sessions from list in WebMvcSseServerTransport
This commit is contained in:
parent
dac5c545b0
commit
bb6514e808
1 changed files with 8 additions and 0 deletions
|
|
@ -218,6 +218,14 @@ public class WebMvcSseServerTransport implements ServerMcpTransport {
|
||||||
// Send initial endpoint event
|
// Send initial endpoint event
|
||||||
try {
|
try {
|
||||||
return ServerResponse.sse(sseBuilder -> {
|
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);
|
ClientSession session = new ClientSession(sessionId, sseBuilder);
|
||||||
this.sessions.put(sessionId, session);
|
this.sessions.put(sessionId, session);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue