main.mqtt.setWillTopic(shift(argl)); } else if ("--will-payload".equals(arg)) { main.mqtt.setWillMessage(shift(argl)); } else if ("--will-qos".equals(arg)) { int v = Integer.parseInt(shift(argl));
main.mqtt.setWillTopic(shift(argl)); } else if ("--will-payload".equals(arg)) { main.mqtt.setWillMessage(shift(argl)); } else if ("--will-qos".equals(arg)) { int v = Integer.parseInt(shift(argl));
client.setWillQos(qos); client.setWillTopic(options.getWillTopic()); client.setWillMessage(options.getWillPayload()); client.setWillRetain(options.getWillRetain());
mqtt.setClientId("WillTestamentPublisher"); mqtt.setWillRetain(false); mqtt.setWillMessage(willTestamentMsg); mqtt.setWillTopic(willTestamentTopic); m_publisher = mqtt.blockingConnection();
@Override public void setWillMessage(String string) { mqtt.setWillMessage(string); }
main.mqtt.setWillTopic(shift(argl)); } else if ("--will-payload".equals(arg)) { main.mqtt.setWillMessage(shift(argl)); } else if ("--will-qos".equals(arg)) { int v = Integer.parseInt(shift(argl));
main.mqtt.setWillTopic(shift(argl)); } else if ("--will-payload".equals(arg)) { main.mqtt.setWillMessage(shift(argl)); } else if ("--will-qos".equals(arg)) { int v = Integer.parseInt(shift(argl));
client.setWillMessage(mqttClientConfig.getWillMessage()); client.setWillQos(mqttClientConfig.getWillQos()); client.setWillRetain(mqttClientConfig.isWillRetain());
client.setWillMessage(mqttClientConfig.getWillMessage()); client.setWillQos(mqttClientConfig.getWillQos()); client.setWillRetain(mqttClientConfig.isWillRetain());
client.setWillMessage(mqttClientConfig.getWillMessage()); client.setWillQos(mqttClientConfig.getWillQos()); client.setWillRetain(mqttClientConfig.isWillRetain());
@Override public void setup(OperatorContext context) { try { client = new MQTT(); if (mqttClientConfig.getClientId() != null) { client.setClientId(mqttClientConfig.getClientId()); } client.setCleanSession(mqttClientConfig.isCleanSession()); client.setConnectAttemptsMax(mqttClientConfig.getConnectAttemptsMax()); client.setHost(mqttClientConfig.getHost(), mqttClientConfig.getPort()); client.setKeepAlive(mqttClientConfig.getKeepAliveInterval()); if (mqttClientConfig.getPassword() != null) { client.setPassword(mqttClientConfig.getPassword()); } if (mqttClientConfig.getUserName() != null) { client.setUserName(mqttClientConfig.getUserName()); } if (mqttClientConfig.getWillMessage() != null) { client.setWillMessage(mqttClientConfig.getWillMessage()); client.setWillQos(mqttClientConfig.getWillQos()); client.setWillRetain(mqttClientConfig.isWillRetain()); client.setWillTopic(mqttClientConfig.getWillTopic()); } connection = client.blockingConnection(); connection.connect(); } catch (Throwable t) { throw new RuntimeException(t); } }
@Test(timeout = 60 * 1000) public void testClientConnectionFailureSendsWillMessage() throws Exception { getServer().createQueue(SimpleString.toSimpleString("will"), RoutingType.MULTICAST, SimpleString.toSimpleString("will"), null, true, false); MQTT mqtt = createMQTTConnection("1", false); mqtt.setKeepAlive((short) 1); mqtt.setWillMessage("test message"); mqtt.setWillTopic("will"); mqtt.setWillQos(QoS.AT_LEAST_ONCE); final BlockingConnection connection = mqtt.blockingConnection(); connection.connect(); Wait.waitFor(() -> connection.isConnected()); MQTT mqtt2 = createMQTTConnection("2", false); BlockingConnection connection2 = mqtt2.blockingConnection(); connection2.connect(); connection2.subscribe(new Topic[]{new Topic("will", QoS.AT_LEAST_ONCE)}); // kill transport connection.kill(); // FIXME Wait for the previous connection to timeout. This is not required in ActiveMQ. Needs investigating. Thread.sleep(10000); Message m = connection2.receive(1000, TimeUnit.MILLISECONDS); assertEquals("test message", new String(m.getPayload())); }
@Test(timeout = 60 * 1000) public void testWillMessageIsRetained() throws Exception { getServer().createQueue(SimpleString.toSimpleString("will"), RoutingType.MULTICAST, SimpleString.toSimpleString("will"), null, true, false); MQTT mqtt = createMQTTConnection("1", false); mqtt.setKeepAlive((short) 1); mqtt.setWillMessage("test message"); mqtt.setWillTopic("will"); mqtt.setWillQos(QoS.AT_LEAST_ONCE); mqtt.setWillRetain(true); final BlockingConnection connection = mqtt.blockingConnection(); connection.connect(); Wait.waitFor(() -> connection.isConnected()); // kill transport connection.kill(); Thread.sleep(10000); MQTT mqtt2 = createMQTTConnection("2", false); BlockingConnection connection2 = mqtt2.blockingConnection(); connection2.connect(); connection2.subscribe(new Topic[]{new Topic("will", QoS.AT_LEAST_ONCE)}); Message m = connection2.receive(1000, TimeUnit.MILLISECONDS); assertNotNull(m); m.ack(); assertEquals("test message", new String(m.getPayload())); }