Skip to content

Commit c3a7c1a

Browse files
jitokimtzolov
authored andcommitted
perf(webflux): optimize session broadcasting with Flux.fromIterable (#109)
Replace Flux.fromStream(sessions.values().stream()) with more efficient Flux.fromIterable(sessions.values()) to eliminate unnecessary stream conversion when broadcasting messages to active sessions Signed-off-by: jitokim <[email protected]>
1 parent eb8e374 commit c3a7c1a

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

mcp-spring/mcp-spring-webflux/src/main/java/io/modelcontextprotocol/server/transport/WebFluxSseServerTransportProvider.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -171,10 +171,10 @@ public Mono<Void> notifyClients(String method, Map<String, Object> params) {
171171

172172
logger.debug("Attempting to broadcast message to {} active sessions", sessions.size());
173173

174-
return Flux.fromStream(sessions.values().stream())
174+
return Flux.fromIterable(sessions.values())
175175
.flatMap(session -> session.sendNotification(method, params)
176-
.doOnError(e -> logger.error("Failed to " + "send message to session " + "{}: {}", session.getId(),
177-
e.getMessage()))
176+
.doOnError(
177+
e -> logger.error("Failed to send message to session {}: {}", session.getId(), e.getMessage()))
178178
.onErrorComplete())
179179
.then();
180180
}

0 commit comments

Comments
 (0)