Skip to content

Example-Collection/Spring-RSocket-Client-Example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring R Socket Client Example

개요

  • Spring Webflux에서 R Socket을 다루는 예시 코드입니다.
    R Socket을 통해 이벤트를 주고 받을 때, 이 애플리케이션은 클라이언트로부터 요청을 받아
    이벤트를 발행하는 부분에 해당합니다.

  • 발행된 이벤트를 처리하는 Consumer에 해당하는 코드는 여기에 있습니다.

  • R Socket 패러다임에 맞게, 총 4개의 REST API가 포함되어 있습니다.

    • 요청-응답 : [POST] /items/request-response
    • 요청-스트림 : [GET] /items/request-stream
    • 실행 후 망각 : [POST] /items/fire-and-forget
    • 채널 : [GET] /items
  • 이 애플리케이션은 8081번 포트에서 구동됩니다.


실행 방법

  • 이 애플리케이션이 제공하는 REST API와 테스트 코드가 통과하려면, R Socket Server
    실행되어 있어야 하며, 두 애플리케이션은 동일한 MongoDB를 사용해야 합니다.

  • 가장 간단하게, 아래 명령어로 Docker에 Mongo Container를 띄우면 데모용으로는 충분합니다.

docker run -p 27017-27019:27017-27019 mong

참고 사항

  • build.gradle.kts를 보면, 아래 의존성이 추가되어 있습니다.
//..

dependencies {
    runtimeOnly("io.netty:netty-resolver-dns-native-macos:4.1.68.Final:osx-aarch_64")

    //..
}
  • 위 패키지는 Netty가 MacOS에서 로컬 DNS를 해석하는 데에 도움을 주는 패키지 입니다.
    osx-aarch_64인 이유는 M1 Mac을 사용하기 때문이며, 만약 MacOS의 Intel 버전 또는
    다른 OS를 사용한다면, 알맞은 패키지를 지정해주면 됩니다.

참고: Github Issue

<>

About

Example codes of communicating with R Socket in Spring Boot.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages