gpt4 book ai didi

java - 将 Spring 批处理连接到 Spring 集成工作流程

转载 作者:行者123 更新时间:2023-12-01 18:35:30 24 4
gpt4 key购买 nike



我正在尝试将 Spring Batch 和 Spring Integration 结合在一个项目中。所以我的想法是 Spring Batch 使用 StepBuilderFactory使用返回 String 的自定义方法读取文件而.processor创建一个新的 Message<String>使用MessageBuilder并将该消息发送到 channel 中...
因此,从这里 Spring Integration 连接到该 channel 并开始工作其工作流程..

知道如何实现这一点吗?因为除了读取 String 之外我没有得到任何结果到.processor但我无法从那里实现 Spring 集成。我读到了remotechunkingmanagerstepbuilderfactory但它不适合我的目的,因为它会自动设置特定类型

 @Bean
public TaskletStep managerStep() throws Exception {

return managerStepBuilderFactory.get("managerStep")
.<String, String>chunk(5)
.reader(readFile())
.processor(new MessageProcess())//write String into Message and send it to Channel
.writer(doSomething())//not important
.build();
}

public class MessageProcess implements ItemProcessor<String, String> {

@Override
public String process(String readString) throws Exception {
Message<String> message = MessageBuilder.withPayload(item).build();
channel().send(message); //sending message to channel
return "item";

}
}

@Bean
public IntegrationFlow workflow() {
return IntegrationFlows
.from(channel())
.handle(checkMessage()) //checkMessage reads payload from Message<?> message
.get();
}

@Bean
public DirectChannel channel() {
return new DirectChannel();
}

最佳答案

要使 Spring Integration 与注释配置或 Java DSL 配合使用,您需要确保在某些 @Configuration 类上指定 @EnableIntegration。或者考虑使用 Spring Boot。

查看文档的更多信息:https://docs.spring.io/spring-integration/docs/5.2.3.RELEASE/reference/html/overview.html#configuration-enable-integration

关于java - 将 Spring 批处理连接到 Spring 集成工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60061342/

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