code: @OnMessage
      public void onMessage(String message, Session session) {
  
          RequestParser parser = new RequestParser();
          try {
              if (!parser.parseRequest(message)) {
                  respondWithErrorMessage(parser.getErrorMessage(), parser.getFailedStatus(), session);
                  return;
              }
          } catch (IOException e) {
              respondWithErrorMessage(parser.getErrorMessage() + " " + e.getMessage(), parser.getFailedStatus(), session, e);
              return;
          }
  
          MessageType messageType = parser.getMessageType();
          if (MessageType.PROCESS_UPDATES.equals(messageType)) {
              ProgressUpdatesRequest progressUpdatesRequest = parser.<ProgressUpdatesRequest>getData();
              onProgressUpdateRequest(progressUpdatesRequest, session);
          }
      }
docs: Expected message format:
  {
  messageType: 'process-updates',
  message: {
  _typed_body_
  }
  }
  
  Example:
  {
  messageType: 'process-updates',
  message: {
  action: 'subscribe|unsubscribe',
  topic: 'component-build',
  id: 123
  }
  }
  
  @param message
  @param session