Мой проект состоит из одного клиента и одного сервера. У сервера есть @messagemapping ("/matches/{matchid}/moves") , где matchid является случайно сгенерированным Java Uuid. После обработки входящего запроса от клиента сервер публикует обновление статуса в/topic/{MatchId}/Moves , на которое клиент подписывается. Оригинальный брокер весеннего сообщения выглядит: < /p>
Код: Выделить всё
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/topic/");
}
< /code>
Я публикую так: < /p>
private final SimpMessagingTemplate msgTemplage;
public void broadcastMove(UUID matchId, MoveResponseDTO moveResponseDTO) {
msgTemplate.convertAndSend("/topic/" + matchId + "/moves", moveResponseDTO);
}
< /code>
Это работает без проблем. Я настроил RabbitMQ как контейнер Docker и проверил, что 1) он работает и 2) он слушает топ -сигнал в порту 61613.
Configurational Port Port < /p>
Я затем изменил свой метод MessageBroker, чтобы: < /p>
public void configureMessageBroker(MessageBrokerRegistry config) {
//config.enableSimpleBroker("/topic/");
config.enableStompBrokerRelay("/topic/")
.setRelayHost("localhost")
.setRelayPort(61613)
.setClientLogin("guest")
.setClientPasscode("guest");
//config.setApplicationDestinationPrefixes("/matches");
}
Чего мне не хватает?
Подробнее здесь: https://stackoverflow.com/questions/795 ... o-rabbitmq