MQTT消息订阅与解析

MQTT消息订阅与解析

  1. 通过配置文件创建mqtt客户端

    1.1 xml文件中添加mqtt客户端配置项

    <!-- mqtt客户端 -->
    <bean id="clientFactory"
    	class="org.springframework.integration.mqtt.core.DefaultMqttPahoClientFactory">
    	<property name="userName" value="test" />
    	<property name="password" value="test" />
    </bean>
    
    <!-- 消息适配器 -->
    <int-mqtt:message-driven-channel-adapter
    	id="mqtttest" client-id="mqttTest" url="tcp://MQTT服务器地址:1883"
    	topics="/data/#" qos="2" client-factory="clientFactory"
    	auto-startup="true" send-timeout="12" channel="startCase" />
    
    <int:channel id="startCase" />
    
    <!-- 消息处理类 -->
    <int:service-activator id="startCaseService"
    	input-channel="startCase" ref="mqttCaseService" method="messageArrived" />
    
    <bean id="mqttCaseService" class="com.iamapsycho.mqtt.DataHandler" />
    

    1.2 创建消息解析的类DataHandler

    public class DataHandler{
    	public void messageArrived(Message<?> message) throws IllegalAccessException,
    		IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException {
    	
    		//获取消息体订阅的主题
    		final String topic = (String) message.getHeaders().get("mqtt_topic");
    		//获取消息体中的消息
    		String contentStr = message.getPayload().toString();
    		//
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值