[Posts series]
1.Mqtt Introduce
2.Mqtt publish with Spring boot
3.Mqtt subscribe with Spring boot - 현재
저번 시간에 발행했던 포스팅에서 Spring boot를 이용한 MQTT publish를 진행했습니다.
이번 시간에는 발행한 MQTT 메세지를 subscribe하는 간단한 웹서버를 만들어 볼 예정입니다.
환경 설정 버전 정보
mosquitto version: eclipse-mosquitto:1.6.15-openssl
Spring boot version: 2.5.4
Java version: openjdk 16.0.2
Gradle version: gradle-7.1.1
MQTT를 이용한 메세징 전달을 위해 다음의 라이브러리를 빌드툴에 추가합니다.
# Gradle
implementation 'org.springframework.integration:spring-integration-mqtt'
implementation 'org.springframework.integration:spring-integration-stream'
# Maven
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-mqtt</artifactId>
<version>5.5.3</version>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-stream</artifactId>
<version>5.5.3</version>
</dependency>
저번 포스팅에서 발행을 했고 이번 포스팅에는 구독만 하려고 합니다.
하나의 웹서버에서 발행 & 구독 둘 다 할 수 있습니다.
Subscribe(구독)
- 구독은 발행보다 훨씬 간단합니다. 특정한 토픽을 감시하는 채널을 만들고, 그 채널에 메세지가 발행되었을 때, 바로 읽어오면 됩니다.
MqttSubscribeConfigutarion.java
이 설정만 해주면 메세지가 발행될 때 설정해준 메세지 핸들러에서 topic과 paylod를 받아올 수 있습니다.