SpringBoot2.0_MQTT消息订阅之动态Topic

本文介绍了如何在SpringBoot2.0项目中实现MQTT消息订阅的动态添加和删除Topic。通过创建接口和全局变量,可以在运行时动态管理订阅的主题,同时提供了消息处理接口供业务实现类进行具体处理。示例代码展示了如何在测试Demo中使用这些功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        之前总结过两篇关于MQTT消息发布消息订阅的文章,很多朋友都觉得不错,不过也有些小疑问,特别是关于mqtt消息订阅的,如何在项目应用中,做到动态添加Topic及监听消息?很多朋友对此都有疑问,却又不知如何下手,网上资料也不多,今天就抽个空,简单做个介绍,给大家做个参考,实际项目还要做优化。对于只要求做消息订阅动态主题的朋友,只需看上半部分就够了;如果有需求,想要将mqtt封装成jar脱离具体业务项目,可以参考整篇文章。

        在MQTT功能之消息订阅处理文章中,我们将Mqtt的配置都写成一个配置类,并在配置类中实现类静态的消息监听,这次,我要将Mqtt的配置抽离封装成一个jar,然后在demo中引用这个jar。首先,我们对mqtt的订阅通道做调整:

看下原来我们怎么做的,在配置监听主题inbound里,定义MqttPahoMessageDrivenChannelAdapter adapter初始化并配置监听主题hello,hello1,这种方式是静态配置,项目运行后就不能再改变监听的topic了;

改变后,将MqttPahoMessageDrivenChannelAdapter  adapter定义成一个全局变量,还是在inbound方法里初始化,只不过,初始化时不设置主题,改成调用adapter方法提供的addTopic方法添加主题。

看到这里,朋友们会有疑问,这有什么不一样?不就只是改变了监听topic的设置方式嘛,项目运行后,还是改变不了。

没错,不过,可能有些朋友已经想到,后面要怎么做了。

就是写两个接口,一个是添加监听主题Topic接口

评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值