【问题标题】:Spring Batch Integration job-launching-gatewaySpring Batch Integration job-launching-gateway
【发布时间】:2015-01-04 21:07:59
【问题描述】:

我正在做一个简单的项目,当在特定文件夹中创建一个新文件时,我会做一份工作,但我不想只使用 xml 的 java 注释,所以我的问题是如何在代码中实现以下内容

<batch-int:job-launching-gateway request-channel="outboundJobRequestChannel"
reply-channel="jobLaunchReplyChannel"/>

<int:logging-channel-adapter channel="jobLaunchReplyChannel"/>

BR 沙布尔

【问题讨论】:

    标签: spring-batch spring-integration


    【解决方案1】:

    使用Spring Integration Java DSL;在你的情况下,你会使用

    ...
    .handle(jobLauncher())
    .handle(logger())
    ...
    

    其中jobLauncher()JobLaunchingGateway @Beanlogger()LoggingHandler @Bean

    或者使用...

    @ServiceActivator(...)
    @Bean
    public JobLaunchingGateway jlg() {...}
    

    等,在这种情况下,您需要将输出通道连接到网关,这在 DSL 中是不需要的。

    【讨论】:

    • 感谢您的更新,再问一个问题 JobLaunchingGateway 和 JobLaunchingMessageHandler 之间有什么区别,因为在阅读您的答案之前,我使用 JobLaunchingMessageHandler 对其进行了测试并且有效?
    • 查看他们的源代码和 JavaDocs:github.com/spring-projects/spring-batch/tree/master/…JobLaunchingGateway 是 SI AbstractReplyProducingMessageHandler 的实现,JobLaunchingMessageHandler 只是一个 POJO,它具有从 SI 调用的适当方法,例如DSL 的.handle() EIP 方法
    • 我认为这是一个愚蠢的问题,但是我们如何为 LoggingHandler 分配一个通道
    • 请进一步解释您的意思(并显示您当前的配置)。
    猜你喜欢
    • 2018-03-10
    • 1970-01-01
    • 2013-12-11
    • 2018-10-11
    • 2019-10-17
    • 2018-09-19
    • 1970-01-01
    • 2021-06-27
    • 1970-01-01
    相关资源
    最近更新 更多