RabbitMQを使用して簡単なSpring Cloud Streamアプリケーションを構成しようとしています。私が使用するコードは、ほとんどがspring-cloud-stream-samplesから取られています。私は実行するとSpring Cloud Streamでキューが作成されない
fixedDelay: 5000
spring:
cloud:
stream:
bindings:
output:
destination: test
:
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
と例から、簡単なメッセージプロデューサー: 私はエントリポイント持ってさらに
@EnableBinding(Source.class)
public class SourceModuleDefinition {
private String format = "yyyy-MM-dd HH:mm:ss";
@Bean
@InboundChannelAdapter(value = Source.OUTPUT, poller = @Poller(fixedDelay = "${fixedDelay}", maxMessagesPerPoll = "1"))
public MessageSource<String> timerMessageSource() {
return() -> new GenericMessage<>(new SimpleDateFormat(this.format).format(new Date()));
}
}
を、ここにapplication.yml構成ですたとえば、Rabbitに接続し、testという交換を作成します。しかし、私の問題は、それがキューを作成せず、自動的にバインドすることです。私はウサギに行くトラフィックを見ることができますが、私のメッセージはすべて消えてしまいます。私は彼らが消費者によって読まれない限り、いくつかの列に留まる必要がありますが。
私は何かを誤解しているかもしれませんが、私が読んだすべてのトピックから、Spring Cloud Streamはキューとバインディングを自動的に作成する必要があります。そうでない場合は、メッセージを保存するように設定するにはどうすればよいですか?
私はSpring Cloud Brixton.SR5とSpring Boot 1.4.0.RELEASEを使用しています。
はい、それは働きます!ありがとうございました。 – FVlad