作业启动网关的可用属性
作业启动网关具有以下属性,您可以通过设置这些属性来控制作业:
-
id: 标识底层的 Spring bean 定义,该定义是以下任一实例:-
EventDrivenConsumer -
PollingConsumer(具体实现取决于组件的输入通道是SubscribableChannel还是PollableChannel。)
-
-
auto-startup: 布尔标志,指示端点是否应在启动时自动启动。默认值为true。 -
request-channel: 此端点的输入MessageChannel。 -
reply-channel: 用于发送生成的JobExecution有效负载的MessageChannel。 -
reply-timeout: 允许您指定此网关在抛出异常之前等待回复消息成功发送到回复通道的时间(以毫秒为单位)。此属性仅适用于通道可能阻塞的情况(例如,当使用当前已满的有界队列通道时)。另外,请记住,当发送到DirectChannel时,调用发生在发送者的线程中。因此,发送操作的失败可能是由更下游的其他组件引起的。reply-timeout属性映射到底层MessagingTemplate实例的sendTimeout属性。如果未指定,该属性默认为 -1,这意味着默认情况下Gateway会无限期等待。 -
job-launcher: 可选。接受自定义的JobLauncherbean 引用。如果未指定,适配器将重用注册在jobLauncher的id下的实例。如果不存在默认实例,则会抛出异常。 -
order: 指定当此端点作为订阅者连接到SubscribableChannel时的调用顺序。
当此 Gateway 从 PollableChannel 接收消息时,您必须提供一个全局默认的 Poller,或者向 Job Launching Gateway 提供一个 Poller 子元素。
- Java
- XML
以下示例展示了如何在 Java 中配置轮询器:
@Bean
@ServiceActivator(inputChannel = "queueChannel", poller = @Poller(fixedRate="1000"))
public JobLaunchingGateway sampleJobLaunchingGateway() {
JobLaunchingGateway jobLaunchingGateway = new JobLaunchingGateway(jobLauncher());
jobLaunchingGateway.setOutputChannel(replyChannel());
return jobLaunchingGateway;
}
以下示例展示了如何在 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>