@@ -328,14 +328,16 @@ public void handleEvent(SseEvent event) {
328328 try {
329329
330330 String convertedValue = null ;
331- if (!(event .data () instanceof String )) {
332- convertedValue = this .convertObject (event );
333- }
331+ boolean converted = event .data () instanceof String ;
334332
335333 if (event .clientIds ().isEmpty ()) {
336334 for (Client client : this .clients .values ()) {
337335 if (!event .excludeClientIds ().contains (client .getId ())
338336 && this .subscriptionRegistry .isClientSubscribedToEvent (client .getId (), event .event ())) {
337+ if (!converted ) {
338+ convertedValue = this .convertObject (event );
339+ converted = true ;
340+ }
339341 ClientEvent clientEvent = new ClientEvent (client , event , convertedValue );
340342 this .sendQueue .put (clientEvent );
341343 this .listener .afterEventQueued (clientEvent , true );
@@ -347,6 +349,10 @@ public void handleEvent(SseEvent event) {
347349 Client client = this .clients .get (clientId );
348350 if (client != null
349351 && this .subscriptionRegistry .isClientSubscribedToEvent (clientId , event .event ())) {
352+ if (!converted ) {
353+ convertedValue = this .convertObject (event );
354+ converted = true ;
355+ }
350356 ClientEvent clientEvent = new ClientEvent (client , event , convertedValue );
351357 this .sendQueue .put (clientEvent );
352358 this .listener .afterEventQueued (clientEvent , true );
0 commit comments