Подтверждение доставки кролика Spring Cloud Stream

Как обеспечить гарантированную доставку в Spring Cloud Stream Rabbit. Мой код ниже: -

class Source {
    MessageChannel output;
    Repository repo;

    @Transactional
    void publisher(Command command){
      repo.save(command);
      output.send(MessageBuilder
                .withPayload(new Event()).build());
    }
}

class Sink {

  @StreamListener(Event.class)
  void eventListener(Event event){
     // method body
  }
}

Любая помощь приветствуется.


person aprofromindia    schedule 07.06.2017    source источник


Ответы (1)


Вы можете использовать потребительское свойство Rabbit spring.cloud.stream.rabbit.bindings.<channelName>.consumer.acknowledgeMode, чтобы узнать, как вы хотите подтвердить. acknowledgeMode поступает из Spring AMQP, и вы можете обратиться к дополнительной документации по этому здесь

person Ilayaperumal Gopinathan    schedule 07.06.2017
comment
спасибо, и если сообщение не удается, производитель повторяет попытку и как часто? - person aprofromindia; 07.06.2017
comment
Не уверен, что вы имеете в виду под повторной попыткой производителя, поскольку я имел в виду параметр подтверждения на стороне потребителя. Если вы имеете в виду повторную попытку на стороне потребителя, вы можете обратиться к этой документации: docs.spring.io/spring-cloud-stream/docs/Chelsea.BUILD-SNAPSHOT/ - person Ilayaperumal Gopinathan; 07.06.2017