SpringCloud 분산 형 마이크로 서비스 b2b2c 전자상거래 (13) Springboot 전체 RabbitMQ
4071 단어 springcloudspringbootrabbitmq
준비 작업 15minIDEAmaven 3.0 구축 프로젝트 를 시작 하기 전에 기 계 는 rabbitmq 를 설치 해 야 합 니 다. 홈 페이지 에서 다운로드 할 수 있 습 니 다.http://www.rabbitmq.com/download.html , 만약 당신 이 사용 하 는 Mac (프로그래머 는 모두 mac 를 사용 해 야 합 니 다), 당신 은 이렇게 다운로드 할 수 있 습 니 다: brew install rabbitmq 설치 완료 후 서버 를 엽 니 다: rabbitmq - server 서버 오픈 성공,다음 정 보 를 볼 수 있 습 니 다.
RabbitMQ 3.1.3. Copyright (C) 2007-2013 VMware, Inc.
## ## Licensed under the MPL. See http://www.rabbitmq.com/
## ##
########## Logs: /usr/local/var/log/rabbitmq/[email protected]
###### ## /usr/local/var/log/rabbitmq/[email protected]
##########
Starting broker... completed with 6 plugins.
프로젝트 구 조 를 구축 하 는 SpringBoot 프로젝트 의 pom 파일 의존 과 spring - boot - starter - amqp 의 시작 의존:
org.springframework.boot
spring-boot-starter-amqp
메시지 수신 자 를 만 드 는 것 은 모든 메시지 큐 프로그램 에서 메시지 수신 자 를 만 들 고 보 내 는 메시지 에 응답 해 야 합 니 다.
@Component
public class Receiver {
private CountDownLatch latch = new CountDownLatch(1);
public void receiveMessage(String message) {
System.out.println("Received ");
latch.countDown();
}
public CountDownLatch getLatch() {
return latch;
}
}
메시지 수신 자 는 간단 한 POJO 클래스 로 메 시 지 를 받 는 방법 을 정의 합 니 다. 메 시 지 를 받 으 러 등록 하면 모든 이름 을 지 을 수 있 습 니 다.springcloud 구 조 를 알 면 구 할 수 있 습 니 다. 3, 5, 3, 6, 2, 4, 7, 2, 5, 9.그 중에서 Count Downlatch 와 같은 종류 가 있 습 니 다. 발송 자 에 게 메 시 지 를 받 았 다 는 것 을 알 리 는 데 사 용 됩 니 다. 프로그램 에서 구체 적 으로 실현 할 필요 가 없습니다. latch. countDown () 만 있 으 면 됩 니 다.
메시지 감청 을 만 들 고 spring 프로그램 에 메 시 지 를 보 냅 니 다. RabbitTemplate 는 메 시 지 를 보 내 고 메 시 지 를 받 는 모든 방법 을 제공 합 니 다.당신 은 간단 한 설정 만 하면 됩 니 다.
메시지 감청 용기 에 quene, exchange 를 설명 하고 구성 요 소 를 연결 하여 메시지 코드 목록 을 보 내야 합 니 다.
package com.forezp;
import com.forezp.message.Receiver;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.core.TopicExchange;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
import org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class SpringbootRabbitmqApplication {
final static String queueName = "spring-boot";
@Bean
Queue queue() {
return new Queue(queueName, false);
}
@Bean
TopicExchange exchange() {
return new TopicExchange("spring-boot-exchange");
}
@Bean
Binding binding(Queue queue, TopicExchange exchange) {
return BindingBuilder.bind(queue).to(exchange).with(queueName);
}
@Bean
SimpleMessageListenerContainer container(ConnectionFactory connectionFactory,
MessageListenerAdapter listenerAdapter) {
SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
container.setConnectionFactory(connectionFactory);
container.setQueueNames(queueName);
container.setMessageListener(listenerAdapter);
return container;
}
@Bean
MessageListenerAdapter listenerAdapter(Receiver receiver) {
return new MessageListenerAdapter(receiver, "receiveMessage");
}
public static void main(String[] args) {
SpringApplication.run(SpringbootRabbitmqApplication.class, args);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Spring Cloud에서 Feign에 대한 일반적인 질문 요약1. FeignClient 인터페이스, @GettingMapping 같은 조합 메모는 사용할 수 없음 코드 예: 이쪽 @RequestMapping(value = "/simple/{id}", method = Reque...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.