gpt4 book ai didi

spring-boot - Spring Cloud 流 + quartz

转载 作者:行者123 更新时间:2023-12-02 03:09:51 26 4
gpt4 key购买 nike

我计划在我的项目中使用 Spring Cloud Stream。我看到有内置的触发器源应用程序启动器。我想要做的是使用 quartz 作业调度程序作为源应用程序。这是为了允许来自应用程序的动态作业计划。有没有很好的示例来实现这一点?

我找到了这个。 spring integration + cron + quartz in cluster? .该解决方案讨论获取对入站 channel 适配器的引用。我正在使用注释来定义入站 channel 适配器。我如何获取对此对象的引用,以便我可以执行解决方案中提到的启动/停止。

这就是我定义入站 channel 适配器的方式。

@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();
}
};
}

最佳答案

GitHub上的相关问题:https://github.com/spring-projects/spring-integration-java-dsl/issues/138

为自动创建的端点构建 bean 名称的算法如下:

The bean names are generated with this algorithm: * The MessageHandler (MessageSource) @Bean gets its own standard name from the method name or name attribute on the @Bean. This works like there is no Messaging Annotation on the @Bean method. * The AbstractEndpoint bean name is generated with the pattern: [configurationComponentName].[methodName].[decapitalizedAnnotationClassShortName]. For example the endpoint (SourcePollingChannelAdapter) for the consoleSource() definition above gets a bean name like: myFlowConfiguration.consoleSource.inboundChannelAdapter.

参见 Reference Manual获取更多信息。

关于spring-boot - Spring Cloud 流 + quartz ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40558655/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com