Spring提供了对多种消息中间件的整合,其中也包括MQTT。具体请参见以下链接:
Spring整合MQTT步骤如下:
1、创建Spring Boot Maven工程,poxm.xml引入如下依赖:
org.springframework.integration
spring-integration-mqtt
2、application.properties文件中增加MQTT配置参数
#MQTT Config
com.mqtt.url=tcp://mqttServerhost:1883
com.mqtt.inboundclientid=in_clientid
com.mqtt.outboundclientid=out_clientid
com.mqtt.topics=+/V1/T/+/topic
3、增加MQTT配置类
importorg.springframework.beans.factory.annotation.Value;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.springframework.integration.annotation.MessagingGateway;importorg.springframework.integration.annotation.ServiceActivator;importorg.springframework.integration.channel.DirectChannel;importorg.springframework.integration.core.MessageProducer;importorg.springframework.integration.mqtt.core.DefaultMqttPahoClientFactory;importorg.springframework.integration.mqtt.core.MqttPahoClientFactory;importorg.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter;importorg.springframework.integration.mqtt.outbound.MqttPahoMessageHandler;importorg.springframework.integration.mqtt.support.DefaultPahoMessageConverter;importorg.springframework.messaging.MessageChannel;importorg.springframework.messaging.MessageHandler;importorg.springframework.messaging.handler.annotation.Header;import org.springframework.stereotype.Component;importorg.springframework.integration.mqtt.support.MqttHeaders;
@Configurationpublic classMqttConfiguration {
@Value("${com.mqtt.url}")privateString url;
@Value("${com.mqtt.topics}")privateString topics;
@Value("${com.mqtt.inboundclientid}")privateString inclientid;
@Value("${com.mqtt.outboundclientid}")privateString outclientid;
@Beanpub