私のプロジェクトにSpring Cloud Streamを使用する予定です。 Triggerのソースアプリケーションスターターが組み込まれていることがわかります。私がしたいのは、ソースアプリとしてQuartz Job Schedulerを使用することです。これは、アプリケーションからの動的ジョブスケジュールを可能にするためです。これを達成するための良いサンプルがありますか?Spring Cloud Stream + Quartz
これが見つかりました。 spring integration + cron + quartz in cluster?。このソリューションは、インバウンド・チャネル・アダプターへの参照を取得する方法について説明します。 Annotationを使用してインバウンドチャネルアダプタを定義しています。このオブジェクトへの参照を取得することで、ソリューションで言及された開始/停止を行うことができます。
これは、インバウンドチャネルアダプタを定義する方法です。
@Bean
@InboundChannelAdapter(autoStartup = "false", value = SourceChannel.CHANNEL_NAME, poller = @Poller(trigger = "fireOnceTrigger"))
public MessageSource<String> timerMessageSource() {
return new MessageSource<String>() {
public Message<String> receive() {
System.out.println("******************");
System.out.println("At the Source");
System.out.println("******************");
String value = "{\"value\":\"hi\"}";
System.out.println("Sending value: " + value);
return MessageBuilder.withPayload(value).setHeader(MessageHeaders.CONTENT_TYPE, "application/json").build();
}
};
}
ありがとうございました。これは機能します。 –