Esempio n. 1
0
  @Override
  public void postProcess(IOTMessage ioTMessage) {

    switch (ioTMessage.getMessageType()) {
      case ConnectAcknowledgeMessage.MESSAGE_TYPE:
        ConnectAcknowledgeMessage conMessage = (ConnectAcknowledgeMessage) ioTMessage;

        /** Use the connection acknowledgement message to store session id for persistance. */
        Channel channel = getChannel(ioTMessage.getConnectionId());
        if (Objects.nonNull(channel)) {

          if (MqttConnectReturnCode.CONNECTION_ACCEPTED.equals(conMessage.getReturnCode())) {

            channel.attr(ServerImpl.REQUEST_SESSION_ID).set(ioTMessage.getSessionId());
          } else {
            closeClient(ioTMessage.getConnectionId());
          }
        }

        break;
      default:
        super.postProcess(ioTMessage);
    }
  }