Ошибка веб-сокета SpringBoot - osmsbDefaultSubscriptionRegistry: в GenericMessage нет места назначения - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь создать приложение для чата на основе SpringBoot Websockets в качестве бэкэнда и Angular Client в качестве внешнего интерфейса.Теперь, если я встраиваю свой угловой код в приложение SpringBoot, все работает нормально.Однако, если я пытаюсь запустить приложение angualr в качестве отдельного клиента с использованием Electron Forge, я получаю следующую ошибку:

o.s.m.s.b.DefaultSubscriptionRegistry    : No destination in GenericMessage 

MessageController.java

   /**
    * Process message.
    *
    * @param message the message
    */
   //This is intended to particular user;
   @MessageMapping("/users/message")
   public void processMessage( MessageBean message )
   {
      message.setMessageType( MessageTypeEnum.CREATE_CHANNEL );
      Map< String, Object > response;
      String responseMessage = "Connection request sent successfully";
      try
      {
         String channel = userService.generateConnectionString( message.getRecieverId() );
         boolean isError = false;
         if ( channel == null )
         {
            isError = true;
            responseMessage = "Unable to sent request, please try again";
         }
         message.setText( channel );
         response = generateResponse( isError, message, responseMessage );
         if ( !isError )
         {
            messagingTemplate.convertAndSend( "/queue/room/" + message.getRecieverId(), response );
            messagingTemplate.convertAndSend( "/queue/room/" + message.getSenderId(), response );
         }
         else
         {
            messagingTemplate.convertAndSend( "/queue/room/" + message.getSenderId(), response );
         }

      }
      catch ( Exception e )
      {
         responseMessage = "Unable to sent request, please try again";
         response = generateResponse( true, null, responseMessage );
         messagingTemplate.convertAndSend( "/queue/room/" + message.getSenderId(), response );
         e.printStackTrace();
      }
   }

// Фрагмент кода AngularJS:

$scope.attempHandhsake = function(targetUser)
        {
            $scope.searchList = [];
            var message = {};
            message.senderId = $scope.user.id;
            message.senderName = $scope.user.firstname + " " + $scope.user.lastname;
            message.usernameSender = $scope.user.username;
            message.recieverId = targetUser.id;
            message.recieverName = targetUser.firstname + " " + targetUser.lastname;
            message.usernameReciever = targetUser.username;
            var sendObject = JSON.stringify(message);
            client.send("/app/users/message",sendObject,{});
        }
...