websocket подписан, но не получает сообщение - PullRequest
0 голосов
/ 21 сентября 2018

Я хочу, чтобы мой код прослушивал rabbitmq, а затем отображал это сообщение как toater на веб-сокете

До сих пор мне удавалось прослушать сообщение, которое я вижу в журналах, но когда я его проверял,Я вижу, что мой веб-сокет открыт, подключен и подписан , но не получает никаких сообщений,

Я следовал этим урокам https://spring.io/guides/gs/messaging-stomp-websocket/ Я новичок в веб-сокете и JS специально.

Вот что я написал до сих пор.

WebSocketConfig.java:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

  @Override
  public void configureMessageBroker(MessageBrokerRegistry config) {
    config.enableSimpleBroker("/notifications");
  }


  @Override
  public void registerStompEndpoints(StompEndpointRegistry registry) {
    registry.addEndpoint("/v1/quizzes").withSockJS();
  }

} 

Это мой потребитель

@Component
public class EventConsumer {

  private Logger logger = LoggerFactory.getLogger(EventConsumer.class);

  @Autowired
  NotificationService notificationService;

  int i;

  @StreamListener("Event")
  public void receivedEvent(String message) {
    notificationService.sendNotification(message);

    logger.info("EVENT Received "+ ++i);
  }
}

Вот так я отправляю подписчику

@Service
public class NotificationService {

  private Logger logger = LoggerFactory.getLogger(NotificationService.class);

  @SendTo("/notifications")
  public String sendNotification(String message) {
    logger.info("IN SEND NOTIFICATION " + message);
    return message;
  }
}

app.js

var ws;
var stompClient;

ws = new SockJS("/v1/quizzes");
stompClient = Stomp.over(ws);

stompClient.connect({}, function(frame){
    stompClient.subscribe("/notifications", function(message){
    Materialize.toast(message)

        console.log("received " + message);
    });
}, function(error) {
     console.log("Stomp protocol error." + error);
});

и этот index.html

<!DOCTYPE html>
<html>
<head>
  <title>!WebSocket</title>

  <script src="/webjars/jquery/jquery.min.js"></script>
  <script src="/webjars/sockjs-client/sockjs.min.js"></script>
  <script src="/webjars/stomp-websocket/stomp.min.js"></script>
  <script src="/app.js"></script>
</head>
<body>
<noscript><h2 style="color: #ff0000">Seems your browser doesn't support Javascript! Websocket relies
  on Javascript being
  enabled. Please enable Javascript and reload this page!</h2></noscript>

<div class="col-md-6">
  <form class="form-inline">
    <div class="form-group">
      <label>WebSocket connection</label>

    </div>
  </form>
</div>

</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...