기금넷 공식사이트 - 복권 조회 - SpringBoot 는 rabbit MQ, spring-boot-starter-amqp 의 사용을 통합합니다.

SpringBoot 는 rabbit MQ, spring-boot-starter-amqp 의 사용을 통합합니다.

SpringBoot 프로젝트에서 rabbitMQ 를 사용하는 것이 매우 편리합니다. Spring 은 간단한 구성으로 spring 과 완벽하게 통합되는 spring-boot-starter-amqp 의존성을 제공합니다.

이 문서에서는 rabbitMQ 에 대한 이론적 지식이 아니라 봄에 Rabbit MQ 를 사용하는 방법에 대해 설명합니다.

소비자를 선언하고 대기열 및 교환 (없는 경우) 을 선언한 다음 바인딩합니다.

생산자

기본 스위치는 실제로 직접 연결 스위치이며 문자열 이름이 비어 있는 직접 연결 스위치로 해석할 수 있습니다. 대기열에 지정된 바인딩 스위치가 없는 경우 기본 스위치에 바인딩되고 routingKey 는 대기열의 이름입니다.

소비자

생산자

대기열 1 과 대기열 2 에 해당하는 두 소비자가 myFanoutExchange 에 바인딩되었다고 합니다. 그것들은 섹터 스위치이기 때문에, 이곳의 routingKey 는 임의적이다.

생산자

여러 소비자를 선언하고, 현장에서 누군가가 복권점에서 복권에 당첨되었다고 가정하면, 각급 방송국에서 이 소식을 보도했다.

와일드 카드 문자 #: 하나 이상의 단어, * 한 단어.

생산자

실행 결과

두 소비자, 하나는 정확히 일치하고 하나는 무작위로 일치합니다.

생산자, 이 두 소비자는 소식을 받을 수 있다.

소비자를 선언하는 또 다른 방법을 살펴 보겠습니다.

이것은 영양의 예입니다. 대기열 또는 스위치를 선언하거나 바인딩하려면 해당 객체를 구성하고 spring 컨테이너에 넣기만 하면 되고 리스너 (소비자) 를 선언하려면 MessageListenerContainer 객체를 구성해야 한다는 것을 알 수 있습니다. ListenerContainer 는 최소한 ConnectionFactory 연결 방법, 수신 대기열 메시지 및 수신 메시지 처리 방법을 알아야 합니다.

여기서 우리는 MessageListenerContainer 에 해당하는 @RabbitListener 를 추측하여 ConnectionFactory 에 자동으로 주입할 수 있습니다. 대기열 이름은 queues, queuesToDeclare 또는 바인딩 내의 대기열에 의해 지정될 수 있고, 수신된 메시지의 처리 방법은 @RabbitHandler 에 의해 지정되거나 해당 방법에 @RabbitListener 만 입력하면 됩니다.

대기열의 스위치 및 기타 속성 (예: 영구, 자동 삭제 등) 을 설정하는 방법 : @Bean 을 사용하여 해당 개체를 만들고 적절한 속성을 설정하고 주석 @Queue 또는 @Exchange 를 사용하여 해당 속성을 설정합니다.

메시지 확인 방법, 사전 처리 메시지 수 등과 같은 소비자의 기타 속성을 설정하는 방법 : @Bean 을 통해 MessageListenerContainer 의 오브젝트를 구성합니다. 해당 속성을 설정하고 @RabbitListener 에서 주석으로 containerFactory 를 지정한 다음 containerFactory 에서 설정하면 됩니다