全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

springboot集成mqtt的实践开发


MQTT(Message Queuing Telemetry Transport)是基于二进制消息的发布/订阅编程模式的消息协议,非常适合需要低功耗和网络带宽有限的IoT场景。这里简单介绍一下如何在springboot中集成。

maven

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-integration</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.integration</groupId>
      <artifactId>spring-integration-stream</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.integration</groupId>
      <artifactId>spring-integration-mqtt</artifactId>
    </dependency>

配置client factory

  @Bean
  public MqttPahoClientFactory mqttClientFactory() {
    DefaultMqttPahoClientFactory factory = new DefaultMqttPahoClientFactory();
    factory.setServerURIs("tcp://demo:1883");
//    factory.setUserName("guest");
//    factory.setPassword("guest");
    return factory;
  }

配置consumer

  @Bean
  public IntegrationFlow mqttInFlow() {
    return IntegrationFlows.from(mqttInbound())
        .transform(p -> p + ", received from MQTT")
        .handle(logger())
        .get();
  }

  private LoggingHandler logger() {
    LoggingHandler loggingHandler = new LoggingHandler("INFO");
    loggingHandler.setLoggerName("siSample");
    return loggingHandler;
  }

  @Bean
  public MessageProducerSupport mqttInbound() {
    MqttPahoMessageDrivenChannelAdapter adapter = new MqttPahoMessageDrivenChannelAdapter("siSampleConsumer",
        mqttClientFactory(), "siSampleTopic");
    adapter.setCompletionTimeout(5000);
    adapter.setConverter(new DefaultPahoMessageConverter());
    adapter.setQos(1);
    return adapter;
  }

配置producer

@Bean
  public IntegrationFlow mqttOutFlow() {
    //console input
//    return IntegrationFlows.from(CharacterStreamReadingMessageSource.stdin(),
//        e -> e.poller(Pollers.fixedDelay(1000)))
//        .transform(p -> p + " sent to MQTT")
//        .handle(mqttOutbound())
//        .get();
    return IntegrationFlows.from(outChannel())
        .handle(mqttOutbound())
        .get();
  }
  
  @Bean
  public MessageChannel outChannel() {
    return new DirectChannel();
  }

  @Bean
  public MessageHandler mqttOutbound() {
    MqttPahoMessageHandler messageHandler = new MqttPahoMessageHandler("siSamplePublisher", mqttClientFactory());
    messageHandler.setAsync(true);
    messageHandler.setDefaultTopic("siSampleTopic");
    return messageHandler;
  }

配置MessagingGateway

@MessagingGateway(defaultRequestChannel = "outChannel")
public interface MsgWriter {
  void write(String note);
}

这样就大功告成了

doc

spring-integration-mqtt 

spring-integration-samples-mqtt

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# springboot集成mqtt  # SpringBoot中集成MQTT  # SpringBoot整合MQTT并实现异步线程调用的问题  # SpringBoot集成mqtt的多模块项目配置详解  # springboot 实现mqtt物联网的示例代码  # SpringBoot+MQTT+apollo实现订阅发布功能的示例  # SpringBoot+netty-socketio实现服务器端消息推送  # SpringBoot+WebSocket+Netty实现消息推送的示例代码  # SpringBoot实现钉钉机器人消息推送的示例代码  # springboot整合mqtt实现消息订阅和推送功能  # 大功告成  # 介绍一下  # 网络带宽  # 大家多多  # 低功耗  # 如何在  # 是基于  # integration  # stream  # MqttPahoClientFactory  # DefaultMqttPahoClientFactory  # mqttClientFactory  # public  # Bean  # java  # factory  # mqtt  # client  # setServerURIs  # consumer 


相关文章: Python文件管理规范_工程实践说明【指导】  公司网站的制作公司,企业网站制作基本流程有哪些?  小程序网站制作需要准备什么资料,如何制作小程序?  如何快速搭建二级域名独立网站?  ,购物网站怎么盈利呢?  如何通过cPanel快速搭建网站?  c# 服务器GC和工作站GC的区别和设置  建站之星如何快速更换网站模板?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  制作国外网站的软件,国外有哪些比较优质的网站推荐?  如何快速查询网站的真实建站时间?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  制作农业网站的软件,比较好的农业网站推荐一下?  网站app免费制作软件,能免费看各大网站视频的手机app?  北京网站制作的公司有哪些,北京白云观官方网站?  如何在云主机快速搭建网站站点?  建站主机无法访问?如何排查域名与服务器问题  实现虚拟支付需哪些建站技术支撑?  如何快速建站并高效导出源代码?  如何在服务器上三步完成建站并提升流量?  高防服务器租用首荐平台,企业级优惠套餐快速部署  手机网站制作与建设方案,手机网站如何建设?  建站10G流量真的够用吗?如何应对访问高峰?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  nginx修改上传文件大小限制的方法  开心动漫网站制作软件下载,十分开心动画为何停播?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  内网网站制作软件,内网的网站如何发布到外网?  创业网站制作流程,创业网站可靠吗?  如何在Windows服务器上快速搭建网站?  python的本地网站制作,如何创建本地站点?  免费视频制作网站,更新又快又好的免费电影网站?  如何挑选最适合建站的高性能VPS主机?  ,石家庄四十八中学官网?  网站制作话术技巧,网站推广做的好怎么话术?  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  太平洋网站制作公司,网络用语太平洋是什么意思?  制作旅游网站html,怎样注册旅游网站?  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  建站之星如何配置系统实现高效建站?  如何选择香港主机高效搭建外贸独立站?  Swift开发中switch语句值绑定模式  图册素材网站设计制作软件,图册的导出方式有几种? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。