게시자의 경우:
1 메시지는 메시지 게이트웨이를 통해 전송되며 MessageChannel
DirectChannel
인스턴스가 전송 세부정보를 처리합니다. MessageChannel
的实例 DirectChannel
处理发送的细节。
2.DirectChannel
收到消息后,内部通过 MessageHandler
的实例 MqttPahoMessageHandler
发送到指定的 Topic。
对于订阅者:
1.通过注入 MessageProducerSupport
的实例 MqttPahoMessageDrivenChannelAdapter
,实现订阅 Topic 和绑定消息消费的 MessageChannel
。
2.同样由 MessageChannel
的实例 DirectChannel
处理消费细节。
Channel 消息后会发送给我们自定义的 MqttInboundMessageHandler
DirectChannel
이 메시지를 수신한 후 MessageHandler
의 MqttPahoMessageHandler
인스턴스를 통해 지정된 주제로 내부적으로 전송됩니다.
MessageProducerSupport
및 MqttPahoMessageDrivenChannelAdapter
의 인스턴스를 삽입하여 주제를 구독하고 메시지를 바인딩하는 MessageChannel
소비가 실현됩니다. 2. 소비 세부정보는 MessageChannel
의 인스턴스 DirectChannel
에서도 처리됩니다. 채널 메시지는 소비를 위해 사용자 정의된 MqttInboundMessageHandler
인스턴스로 전송됩니다. 전체 처리 과정은 기본적으로 이전과 동일하다는 것을 알 수 있습니다. Spring Integration은 이러한 메시지 통신 메커니즘 세트를 추상화하고 특정 통신 세부사항은 통합하는 미들웨어에 의해 결정됩니다. MAMEN은 yaml 구성 파일 MQTT Consumer Configuration Class <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-integration --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-integration</artifactId> <version>2.5.1</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework.integration/spring-integration-stream --> <dependency> <groupId>org.springframework.integration</groupId> <artifactId>spring-integration-stream</artifactId> <version>5.5.5</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework.integration/spring-integration-mqtt --> <dependency> <groupId>org.springframework.integration</groupId> <artifactId>spring-integration-mqtt</artifactId> <version>5.5.5</version> </dependency>
#mqtt配置 mqtt: username: 123 password: 123 #MQTT-服务器连接地址,如果有多个,用逗号隔开 url: tcp://127.0.0.1:1883 #MQTT-连接服务器默认客户端ID client: id: ${random.value} default: #MQTT-默认的消息推送主题,实际可在调用接口时指定 topic: topic,mqtt/test/# #连接超时 completionTimeout: 3000
위 내용은 SpringBoot가 MQTT 메시지 전송 및 수신을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!