当前位置: 首页>>代码示例>>Java>>正文


Java MQTT.setWillTopic方法代码示例

本文整理汇总了Java中org.fusesource.mqtt.client.MQTT.setWillTopic方法的典型用法代码示例。如果您正苦于以下问题:Java MQTT.setWillTopic方法的具体用法?Java MQTT.setWillTopic怎么用?Java MQTT.setWillTopic使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.fusesource.mqtt.client.MQTT的用法示例。


在下文中一共展示了MQTT.setWillTopic方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setup

import org.fusesource.mqtt.client.MQTT; //导入方法依赖的package包/类
@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);
  }
}
 
开发者ID:apache,项目名称:apex-malhar,代码行数:31,代码来源:AbstractMqttOutputOperator.java

示例2: testClientConnectionFailureSendsWillMessage

import org.fusesource.mqtt.client.MQTT; //导入方法依赖的package包/类
@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()));
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:28,代码来源:MQTTTest.java

示例3: testWillMessageIsRetained

import org.fusesource.mqtt.client.MQTT; //导入方法依赖的package包/类
@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()));
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:31,代码来源:MQTTTest.java

示例4: activate

import org.fusesource.mqtt.client.MQTT; //导入方法依赖的package包/类
@Override
public void activate(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());
    }
    if (mqttClientConfig.getWillTopic() != null) {
      client.setWillTopic(mqttClientConfig.getWillTopic());
    }
    initializeConnection();
    thread = new Thread(new Runnable()
    {
      @Override
      public void run()
      {
        while (true) {
          try {
            Message msg = connection.receive();
            holdingBuffer.add(msg);
          } catch (Exception ex) {
            LOG.error("Trouble receiving", ex);
          }
        }
      }

    });
    thread.start();
  } catch (Exception ex) {
    LOG.error("Caught exception during activation: ", ex);
    throw new RuntimeException(ex);
  }

}
 
开发者ID:apache,项目名称:apex-malhar,代码行数:51,代码来源:AbstractMqttInputOperator.java


注:本文中的org.fusesource.mqtt.client.MQTT.setWillTopic方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。