了解分区批处理作业中的超时

时间:2016-12-12 15:09:16

标签: spring-integration spring-batch

我试图了解为分区步骤指定超时时间的方法。

  • jmsoutbound-gateway receive-timeout
  • jmsoutbound-gateway reply-timeout
  • jmsoutbound-gateway repyListener receive-timeout
  • 分区处理程序messagingOperations receive-timeout

我希望能够在步骤耗时太长并且清理时超时。通过查看堆栈跟踪,在分区结束后,回复侦听器不会消失(并且在作业完成后可能会收到延迟响应的消息)。

1 个答案:

答案 0 :(得分:0)

  1. 执行者线程在放弃之前在网关中等待回复(分区完成)的时间。
  2. 写入回复频道时的超时 - 通常只有在发送可以阻止时才适用 - 例如当回复频道是一个已满的有界队列频道时。
  3. 当使用回复监听器时,容器轮询JMS客户端以获取消息,这个超时只是线程在客户端等待回复之前在循环和再次等待之前阻塞多长时间 - 它与消息超时无关;它只会影响容器响应stop()的速度。
  4. 分区处理程序等待所有分区完成的时间(除非pollRepositoryForResults为真,在这种情况下,处理程序的timeout属性表示该属性并且未使用接收超时)
  5. 所以听起来#4就是你想要的。