RabbitMQメッセージ受信確認RabbitMQメッセージ確認メカニズムrabbitmq複数のコンシューマを構成(再現)

RabbitMQメッセージ確認モード:

  • AcknowledgeMode.NONE:確認しない
  • AcknowledgeMode.AUTO:自動確認
  • AcknowledgeMode.MANUAL:手動確認

手動確認に設定されている場合AcknowledgeMode.MANUAL

RabbitMQメッセージリスナーは、メッセージの受信後に確認する必要があります

    @RabbitListener(queues = " $ {ocos.rabbit.queue} "、containerFactory = " rabbitListenerContainerFactory " public  void onMessage(Message message、Channel channel){
                try { 
            channel.basicAck(message.getMessageProperties()。getDeliveryTag()、false ); 
        } catch (IOException e){
             try { 
                e.printStackTrace(); 
                channel.basicNack(message.getMessageProperties()。getDeliveryTag()、falsefalse ); 
            }キャッチ(IOException e1){ 
                e1.printStackTrace(); 
            } 
        } 
    }

Rabbitmqは次のように構成されています。複数のコンシューマーがメッセージをリッスンするためのキューを設定できます。

@Bean
     public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory(){ 
        SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory(); factory.setConnectionFactory(
        connectionFactory()); 
        factory.setConcurrentConsumers(3); // 現在のメッセージキューに対して、メッセージ 
        ファクトリを同時にリッスンして消費するように3つのコンシューマを設定します。 setMaxConcurrentConsumers(10 );
        // factory.setMessageConverter(producerJackson2MessageConverter()); 
        factory.setAcknowledgeMode(AcknowledgeMode.NONE); // 返されたファクトリを自動的に確認する確認モードを設定する
        ; 
    }

参考資料:

RabbitMQメッセージ確認メカニズム

rabbitmqは複数のコンシューマーを構成します(再現)

 

おすすめ

転載: www.cnblogs.com/dancser/p/12700067.html