public byte[] getWillMessage() { return msg.payload().willMessage().getBytes(StandardCharsets.UTF_8); } }
public byte[] getWillMessage() { return msg.payload().willMessage().getBytes(StandardCharsets.UTF_8); } }
private void storeWillMessage(MqttConnectMessage msg, String clientId) { // Handle will flag if (msg.variableHeader().isWillFlag()) { MqttQoS willQos = MqttQoS.valueOf(msg.variableHeader().willQos()); LOG.debug("Configuring MQTT last will and testament CId={}, willQos={}, willTopic={}, willRetain={}", clientId, willQos, msg.payload().willTopic(), msg.variableHeader().isWillRetain()); byte[] willPayload = msg.payload().willMessage().getBytes(StandardCharsets.UTF_8); ByteBuffer bb = (ByteBuffer) ByteBuffer.allocate(willPayload.length).put(willPayload).flip(); // save the will testament in the clientID store WillMessage will = new WillMessage(msg.payload().willTopic(), bb, msg.variableHeader().isWillRetain(), willQos); m_willStore.put(clientId, will); LOG.debug("MQTT last will and testament has been configured. CId={}", clientId); } }
String willMessage = payload.willMessage(); byte[] willMessageBytes = willMessage != null ? encodeStringUtf8(willMessage) : EmptyArrays.EMPTY_BYTES; if (variableHeader.willFlag()) {
String willMessage = msg.payload().willMessage(); if (msg.variableHeader().willFlag() && StringUtils.isNotEmpty(willTopic) && this.validator.isTopicNameValid(willTopic)
private static void validateConnectPayload(MqttConnectPayload expected, MqttConnectPayload actual) { assertEquals( "MqttConnectPayload ClientId mismatch ", expected.clientId(), actual.clientId()); assertEquals("MqttConnectPayload UserName mismatch ", expected.userName(), actual.userName()); assertEquals("MqttConnectPayload Password mismatch ", expected.password(), actual.password()); assertEquals("MqttConnectPayload WillMessage mismatch ", expected.willMessage(), actual.willMessage()); assertEquals("MqttConnectPayload WillTopic mismatch ", expected.willTopic(), actual.willTopic()); }
new MqttWill(msg.variableHeader().isWillFlag(), msg.payload().willTopic(), msg.payload().willMessage(), msg.variableHeader().willQos(), msg.variableHeader().isWillRetain());
new MqttWill(msg.variableHeader().isWillFlag(), msg.payload().willTopic(), msg.payload().willMessage(), msg.variableHeader().willQos(), msg.variableHeader().isWillRetain());
new MqttWillImpl(msg.variableHeader().isWillFlag(), msg.payload().willTopic(), msg.payload().willMessage(), msg.variableHeader().willQos(), msg.variableHeader().isWillRetain());
if (connectSuccess(deviceId, build)) { // 初始化存储mqttchannel if (mqttConnectVariableHeader.isWillFlag()) { // 遗嘱消息标志 boolean b = doIf(mqttConnectVariableHeader, mqttConnectVariableHeader1 -> (payload.willMessage() != null) , mqttConnectVariableHeader1 -> (payload.willTopic() != null)); if (!b) {