我正在嘗試使用RabbitMQ配置簡單的Spring雲流應用程序。我使用的代碼大多取自spring-cloud-stream-samples。 我有一個入口點:Spring雲流不會創建隊列
@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配置:
fixedDelay: 5000
spring:
cloud:
stream:
bindings:
output:
destination: test
當運行例如,它連接到Rabbit並創建一個名爲test的交換。但我的問題是,它不會自動創建隊列和綁定。我可以看到兔子的流量,但是我的所有消息都沒有了。雖然我需要他們留在隊列中,除非他們被消費者閱讀。
也許我誤解了一些東西,但是從我讀的所有主題看來,Spring Cloud Stream應該自動創建一個隊列和一個綁定。如果沒有,我該如何配置它,以便我的消息被保存?
我使用Spring Cloud Brixton.SR5和Spring Boot 1.4.0.RELEASE。
是的,它的作品!謝謝。 – FVlad