WebFlux를 적용한 MQTT Client를 구축하고
Topic 메시지 도착 시 Callback으로 Bean을 통해 서비스 구분
*Mqtt Broker(mosqitto) 아래 관련 글 참고
*자세한 설명 생략
▷ Project 전체 구조
*파일 이름으로 검색 가능
▷ build.gradle
▷ application.properties
▷ MqttApplication.java
*아무 작업하지 않음
▷ MqttPublishVO.java
*MqttController 발행 요청 VO
▷ MqttSubscribeVO.java
*MqttController 구독 요청 VO
▷ MqttController.java
▷ UserController.java
▷ MqttService.java
▷ A/B/C ServiceImpl
▷ MqttUtil.java
▷ Mqtt.java ★
▷ SinksListener.java ★
▷ user.jsp
*View 쪽은 설명할 게 없음
▷ 결과 확인
*단순히 동작만 확인
▷ 관련 글
MQTT 란?
MQTT ( Message Queueing Telemetry Transport ) * 자세한 설명 생략 ▷ MQTT 란? - IoT와 같이 제한되거나 대규모 트래픽 전송을 위해 만들어진 발행/구독 기반의 메시징 프로토콜 - 브로커와 클라이언트는 TCP/IP
coding-today.tistory.com
Spring WebFlux 란?
* 자세한 설명 생략 ▷ WebFlux란? - Spring WebFlux는 Spring 5에서 새롭게 추가된 모듈 - Reactive-stack Web Framework이며 non-blocking의 reactive stream을 지원 - Flux와 Mono라는 두 종류의 Publisher와 Cold, Hot 방식 존재 -
coding-today.tistory.com
Spring WebFlux Non-Blocking 방법
Mono, Flux를 이용했다고 Non-Blocking이 되진 않는다. *Thread Pool을 통해서도 가능 *WebClinet 생략 *자세한 설명 생략 ▷ Reactor Thread 지정 * 동일한 Thread를 사용하지 않도록 Reactor에게 Thread 지정 종류 설명
coding-today.tistory.com
SpringBoot JSP 설정
Spring Boot에 내장된 Tomcat은 JSP을 지원하지 않는다. *gradle 사용 *자세한 설명 생략 ▷ build.gradle *의존성 추가 implementation 'javax.servlet:jstl' implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' ▷ application.pr
coding-today.tistory.com
MQTT Broker(mosqitto) 설치 및 설정
Docker를 이용해 MQTT Broker를 간단하게 설치할 수 있다. *자세한 설명 생략 ① docker-compose.yml 생성 *docker-compose.yml 설명 아래 관련 글 참고 version: "3.7" services: mqtt: container_name: mqtt-broker image: eclipse-mosqu
coding-today.tistory.com
@EventListener Example
*자세한 설명 생략 ▷ Example - Application Context 초기화 및 수정 시 파일을 읽어 오는 예제 @Component // Class를 Bean으로 등록 public class TestGetName { @Getter @Setter private String USER_NAME = ""; // 애플리케이션 시
coding-today.tistory.com
Sinks.many() 란?
EmitterProcessor가 @Deprecated 돼서 Sinks.many()로 대체 사용 *EmitterProcessor 내부에서 Sinks를 사용하고 있음 *Processor : 처리 단계를 나타내며 발행자 인터페이스와 구독자 인터페이스를 모두 상속 *자세한
coding-today.tistory.com
'▶ Back-End > Java' 카테고리의 다른 글
Custom Annotation 생성 Example (0) | 2023.07.26 |
---|---|
SpringBoot Maria DB + MyBatis 설정 (0) | 2022.12.06 |
SpringBoot JSP 설정 (0) | 2022.12.01 |
JWE Example(nimbus) (0) | 2022.10.21 |
Create RSA Keypair(.pem) (0) | 2022.10.21 |
댓글