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 <pigberger70@gmail.com>
This commit is contained in:
parent
eb8e3744a7
commit
c3a7c1ac1e
1 changed files with 3 additions and 3 deletions
|
|
@ -171,10 +171,10 @@ public class WebFluxSseServerTransportProvider implements McpServerTransportProv
|
||||||
|
|
||||||
logger.debug("Attempting to broadcast message to {} active sessions", sessions.size());
|
logger.debug("Attempting to broadcast message to {} active sessions", sessions.size());
|
||||||
|
|
||||||
return Flux.fromStream(sessions.values().stream())
|
return Flux.fromIterable(sessions.values())
|
||||||
.flatMap(session -> session.sendNotification(method, params)
|
.flatMap(session -> session.sendNotification(method, params)
|
||||||
.doOnError(e -> logger.error("Failed to " + "send message to session " + "{}: {}", session.getId(),
|
.doOnError(
|
||||||
e.getMessage()))
|
e -> logger.error("Failed to send message to session {}: {}", session.getId(), e.getMessage()))
|
||||||
.onErrorComplete())
|
.onErrorComplete())
|
||||||
.then();
|
.then();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue