作业启动网关的可用属性

作业启动网关具有以下属性,您可以设置这些属性来控制作业:spring-doc.cadn.net.cn

  • id: 标识底层的 Spring Bean 定义,它是以下任一类型的实例:spring-doc.cadn.net.cn

  • auto-startup:布尔标志,用于指示端点是否应在启动时自动启动。默认值为 truespring-doc.cadn.net.cn

  • request-channel: 此端点的输入 MessageChannelspring-doc.cadn.net.cn

  • reply-channel:结果 JobExecution 负载发送到的 MessageChannelspring-doc.cadn.net.cn

  • reply-timeout: 让您指定此网关在抛出异常之前,等待回复消息成功发送到回复通道的时长(以毫秒为单位)。此属性仅适用于通道可能阻塞的情况(例如,当使用当前已满的有界队列通道时)。此外,请记住,当向DirectChannel发送时,调用发生在发送者的线程中。因此,发送操作的失败可能是由下游的其他组件引起的。reply-timeout属性映射到底层MessagingTemplate实例的sendTimeout属性。如果未指定,该属性默认为 -1,这意味着默认情况下,Gateway将无限期等待。spring-doc.cadn.net.cn

  • job-launcher:可选。接受一个自定义的JobLauncher Bean 引用。 如果未指定,适配器将重用注册在jobLauncherid下的实例。 如果不存在默认实例,则抛出异常。spring-doc.cadn.net.cn

  • order: 指定当此端点作为订阅者连接到 SubscribableChannel 时的调用顺序。spring-doc.cadn.net.cn

当此 GatewayPollableChannel 接收消息时,您必须提供全局默认 Poller,或者向 Job Launching Gateway 提供 Poller 子元素。spring-doc.cadn.net.cn

以下示例展示了如何在 Java 中提供轮询器:spring-doc.cadn.net.cn

Java 配置
@Bean
@ServiceActivator(inputChannel = "queueChannel", poller = @Poller(fixedRate="1000"))
public JobLaunchingGateway sampleJobLaunchingGateway() {
    JobLaunchingGateway jobLaunchingGateway = new JobLaunchingGateway(jobLauncher());
    jobLaunchingGateway.setOutputChannel(replyChannel());
    return jobLaunchingGateway;
}

以下示例展示了如何在 XML 中提供轮询器:spring-doc.cadn.net.cn

XML 配置
<batch-int:job-launching-gateway request-channel="queueChannel"
    reply-channel="replyChannel" job-launcher="jobLauncher">
  <int:poller fixed-rate="1000">
</batch-int:job-launching-gateway>