반응형
[ 설치 ]
1. Docker로 RabbitMQ 설치
docker run -d --name rabbitmq -p 5672:5672 -p 8080:15672 --restart=unless-stopped rabbitmq:management
-d: 백그라운드로 실행
--name: 컨테이너명
-p: 호스트와 컨테이너 사이의 포트 포워딩 (5672: RabbitMQ 기본 통신 포트, 15672: RabbitMQ 웹 대시보드 통신 포트, 25672: 클러스터 구성 필요 시)
--restart:stopped: 사용자가 멈추기 전까지는 계속 재부팅 시 실행
2. RabbitMQ 설치 확인하기
localhost:8080 으로 접속하면 RabbitMQ 관리 페이지로 접속된다.
로그인 ID, PW는 guest로 입력해준다.
접속 완료!
[ 사용 ]
1. 스프링 프로젝트 2개 생성(RabbitMQ 라이브러리를 추가해줌)
- producer / consumer
application.yml 파일에 아래 내용 공통으로 넣어줌
spring:
rabbitmq:
host: {{ host }}
port: {{ port }}
username : {{ username }}
password : {{ password }}
2. producer 프로젝트 만들기 (메세지 보내는 애플리케이션)
@Service
public class MsgProducer {
@Autowired
private RabbitTemplate rabbitTemplate;
public void send(String name){
//send1
rabbitTemplate.convertAndSend("{{ queue_name }}", {{ message }});
//send2
//rabbitTemplate.convertAndSend("{{ exchange_name }}","{{ routingkey }}", "{{ message }}");
}
}
@SpringBootApplication
public class ProducerApplication implements CommandLineRunner {
@Autowired
private Producer producer;
public static void main(String[] args) {
SpringApplication.run(ProducerApplication.class, args);
}
@Override
public void run(String... args) {
producer.send("Hi!!");
}
}
3. consumer 프로젝트 만들기 (메세지 받아보는 애플리케이션)
@Service
public class Consumer {
@RabbitListener(queues = "{{queue_name}}")
public void listen(String message){
System.out.println("전달받은 message ::: " + message);
}
}
@SpringBootApplication
public class ConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class, args);
}
}
반응형
'docker' 카테고리의 다른 글
[Docker] Windows 에서 Docker 사용하기(WSL 설치) (0) | 2023.12.09 |
---|---|
[docker] Dockerfile 사용법 (0) | 2023.03.30 |
[docker] maria db 설치하기 (0) | 2023.03.04 |
[Docker] 키바나 설치하기 (엘라스틱서치와 연동) (0) | 2023.02.05 |
[Docker] 엘라스틱서치 설치하기 (0) | 2023.02.05 |