私はspring-cloud-streamをRabbitMQのラッパーとして使用します。SpringストリームでMANUAL ACKをテストする方法 - RabbitMQ
私のプロジェクトでは、MANUAL ACKを使用する必要があります。だから私は適切な設定/コードを追加して、アプリケーションを起動するとはになる。メッセージは渡され、ACKは消費者から送り返されます。
@StreamListener(target = Sink.INPUT)
public void foo(@Payload String message,
@Header(AmqpHeaders.CHANNEL) Channel channel,
@Header(AmqpHeaders.DELIVERY_TAG) Long deliveryTag) throws IOException {
service.bar(message);
channel.basicAck(deliveryTag, false);
}
質問は次のとおりです。
私はAUTO ACKのためのテストを書くことができていますが、マニュアルACKのためにそれを書くためにどのように?私はちょうど渡す方法がわからない@Header(AmqpHeaders.CHANNEL) Channel channel
私のテストでは?
ユニットテストは私のケースではありません。私のキューの設定が正しいかどうかをチェックする統合テストをしたいと思います。代わりにチャネルを介して直接メッセージを送信してください。 –
その場合、それは明確ではありませんあなたの補足的な質問であなたの答えを尋ねています。 "しかし、ヘッダーにチャンネルを嘲笑せずに可能なアプローチがあるかどうか誰かが知っているのでしょうか?"あなたがしていることは正しいです。 –
RabbitMqが実際のチャンネルを送信できるようにするには、チャンネルを嘲笑せずにそれができるかどうか不思議でした。 –