- Today
- Total
목록message (3)
개발하는 고라니
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Bzf2b/btr01UkFsAx/LFinykdyfAgDK8RN2SArYk/img.png)
specification] spring boot - 2.6.3 서론 API를 만들면 종종 Exception이 발생하기 마련이다. Client에서 요청을 했는데, 예외가 발생했을 때 구체적이고 명시적으로 어떤 에러, 무엇 때문에 발생했는지를 "message"에 담아서 보낸다. fun validateMoney(money: BigDecimal) { if (money < BigDecimal(0)) { throw MinusMoneyException("금액이 음수입니다. money : $money") } } 하지만, 그간 무심코 넘어갔지만 에러 메세지를 확인해보려니 다음과 같이 발생한 적이 있을 것이다. { "timestamp": "2023-02-27T08:43:33.081+00:00", "status": 500,..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cKQd1j/btraDAS5WFt/JjOj1IWUrrm69NlaU6xZ00/img.png)
Spring Boot 환경에서 RabbitMQ로 메세징 해보는 간단한 예제이고, 원본은 spring.io의 docs이다. 이 예제를 구현해보기 위해 RabbitMQ가 설치되어있어야 한다( 혹은 docker로 가능). 이 예제는 AMQP RabbitMQ Server를 설정하는 과정을 겪을 수 있고, 메세지를 발행(pub)과 소비(sub)하고 스프링부트 어플리케이션을 만들어 RabbitMQ 서버와 상호작용한다. Spring AMQP(Advanced Message Queuing Protocol)의 RabbitTemplage을 사용함으로써 메세지를 발행(pub)하고, MessageListenerAdapter를 사용해 POJO(Plain Old Java Object) 형태의 메세지를 소비(sub)하는 어플리케이션..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cv2hmC/btraJowPf1W/t0waYtGkgsijmTXsVtKNfK/img.png)
Topics 패턴(주제)에 기반한 메세지만 받아보기 이전 튜토리얼에서 logging System을 개선했다. * 요약 - before : 하나의 producer -> 하나의 exchange (fanout) -> 여러개의 Queue -> 각 Queue에 모든 메세지 push -> 모든 consumer 동일한 메세지 수신 - after : 하나의 producer -> 하나의 exchange (direct) -> 여러개의 Queue -> 각 Queue마다 원하는 severity의 메세지 push -> 각 consumer가 받아보는 메세지가 다를 수 있음 'fanout' 타입의 교환자는 오직 가짜 방송을 할 수 있는 대신, 우리는 'direct' 타입의 교환자를 사용했고, 선택적으로 log를 수신하는 가능성을 ..