job-launching-gateway 动态作业参数

job-launching-gateway dynamic job parameter

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

注意:未指定频道名称,因为它在链内。

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

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

我打算用router来判断job,使用对应的service activator通道。有没有更好的方法?

<int:header-enricher ... >
    <int:header name="jobRef" expression="@someJob" />
</int:header-enricher>

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