代码之家  ›  专栏  ›  技术社区  ›  Cdac15655482

如何处理jmsTemplate.receive no response case

  •  0
  • Cdac15655482  · 技术社区  · 2 年前

    我正在使用 jmsTemplate.receive("queueName") 以接收来自服务总线队列的数据。 我将其用作API请求。 我面临的一个问题是,如果队列中没有留下要处理的消息,那么它就没有完成请求,甚至没有抛出错误。有办法进去吗 jmsTemplate 要检查是否没有要处理的数据,则应该停止请求。

    我尝试了很多方法,但都不起作用。

    1 回复  |  直到 2 年前
        1
  •  0
  •   Daniel Steinmann    2 年前

    你必须打电话 jmsTemplate.setReceiveTimeout 打电话之前 jmsTemplate.receive 。

    如果未设置,它将永远等待下一条消息,如Java文档中所写:

    默认值为JmsDestinationAccessor.RECEIVE_TIMEOUT_INDEFINITE_WAIT,表示无超时的阻塞接收。