【问题标题】:job-launching-gateway dynamic job parameterjob-launching-gateway 动态作业参数
【发布时间】:2016-04-21 13:00:34
【问题描述】:

我正在使用 Spring 批量集成,我必须动态传递作业参数。下面是我的服务激活器类,它将我的消息转换为 JobLaunchRequest。

注意:没有指定频道名称,因为它在链中。

<int:service-activator id="msgToJob">
    <bean class="org.xyz.transformer.MessageToJob">
        <property name="job" ref="myJob"/>
    </bean>
</int:service-activator>

如何从有效负载或标头等动态传递作业引用? 请提出合适的解决方案。

我有一个计划,使用router来确定job,使用对应的service activator channel。有没有更好的办法?

【问题讨论】:

    标签: spring-integration spring-batch


    【解决方案1】:
    <int:header-enricher ... >
        <int:header name="jobRef" expression="@someJob" />
    </int:header-enricher>
    

    使用 Spring 集成中的运行时 SpEL 表达式,@ 在应用程序上下文中引用一个 bean。

    【讨论】:

    • 用上面的例子试过,它就像一个魅力!另一个快速的问题:@someJob - 这可以是动态的吗?简而言之,someJob bean 稍后会被动态输入识别。
    • 请忽略上述评论,我已从应用程序上下文中获取jobId并传递它..感谢您的快速回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 1970-01-01
    • 2017-05-13
    相关资源
    最近更新 更多