java mqtt spring_Spring 集成 MQTT 推送消息

(mqtt java客户端的使用参看这篇文章)

Spring Integration基于Eclipse Paho MQTT客户端库提供了支持MQTT协议的入站和出站通道适配器。但是使用起来不是很灵活(有可能是没有深入理解😂)。在参考了这篇文章后有了如下实现:

1. maven依赖

org.springframework.integration

spring-integration-core

4.3.9.RELEASE

org.springframework.integration

spring-integration-mqtt

4.3.9.RELEASE

org.eclipse.paho

org.eclipse.paho.client.mqttv3

1.2.0

2. 配置文件

applicationContext.xml

类型

描述

DefaultMqttPahoClientFactory

客户端工厂类,根据配置的选项(用户名、密码、服务器集群地址等)创建一个默认的客户端。

MqttPahoMessageHandler

MQTT出站通道适配器的抽象类的实现,用于推送消息。

class="org.springframework.integration.mqtt.core.DefaultMqttPahoClientFactory">

${mqtt.serverURI1}

config.properties

#用户名

mqtt.username=mqttPubClient

#密码

mqtt.password=123456

#是否清除会话

mqtt.cleanSession=false

#服务端url

mqtt.serverURI1=tcp://localhost:1883

#是否异步发送

mqtt.async=true

#超时时间

mqtt.completionTimeout=20000

#心跳

mqtt.keepAliveInterval=30

#客户端id

mqtt.clientId=mqttPubClient

#默认的消息服务质量

mqtt.defaultQos=1

3. 调用

@Resource

private MqttPahoMessageHandler mqttHandler;

@Override

public void send(String topic, String content) {

// 构建消息

Message messages = MessageBuilder.withPayload(content).setHeader(MqttHeaders.TOPIC, topic).build();

// 发送消息

mqttHandler.handleMessage(messages);

}

链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值