Home4/src/main/java/de/ph87/home/web/WebSocketService.java

31 lines
952 B
Java

package de.ph87.home.web;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
import org.springframework.lang.NonNull;
import org.springframework.messaging.simp.SimpMessageSendingOperations;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Service
@RequiredArgsConstructor
public class WebSocketService {
private final SimpMessageSendingOperations simpMessageSendingOperations;
@EventListener(IWebSocketMessage.class)
public void send(@NonNull final IWebSocketMessage message) {
send(message.getWebsocketTopic(), message);
}
public void send(@NonNull final List<Object> topic, @NonNull final Object message) {
final String topicString = topic.stream().map(Object::toString).collect(Collectors.joining("/"));
simpMessageSendingOperations.convertAndSend(topicString, message);
}
}