springboot--@RabbitListener消息確認修改爲手動確認

springboot項目中,如果使用@RabbitListener註解,此時消息的ack默認爲auto,即爲自動確認,如果想要使用手動確認可以進行設置。containerFactory屬性可以讓我們自定義container的一些屬性,當然消息的確認方式也可以在這裏進行確認。代碼如下:

  1. containerFactory的自定義
	@Bean
    @ConditionalOnClass
    public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory(CachingConnectionFactory connectionFactory) {
        SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
        factory.setConnectionFactory(connectionFactory);
        factory.setAcknowledgeMode(AcknowledgeMode.MANUAL);
        return factory;
    }
  1. 在使用地方將上述bean引用
	// 此處的containerFactory屬性值就是上述定義的Bean的name
	@RabbitListener(containerFactory = "rabbitListenerContainerFactory", bindings = @QueueBinding(value = @Queue(value = "month", durable = "false"),
            exchange = @Exchange(name = "fanout-exchange", durable = "false", type = "fanout")))
    public void monthProcess(Channel channel, Message message){
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章