JmsTemplate sendAndReceive 设置超时

时间:2022-05-26 04:28:25

通过调用sendAndReceive方法,实现发送消息之后可以同步接收返回信息。

Message replyMsg = this.jmsQueueTemplate.sendAndReceive(new MessageCreator(){
@Override
public Message createMessage(Session sn) throws JMSException { TextMessage txtMsg = sn.createTextMessage(msg);
return txtMsg;
}
});

  

在消息处理端,有可能存在处理比较耗时的操作,为了防止客户端长时间没有接收到处理结果信息,可以通过:

this.jmsQueueTemplate.setReceiveTimeout(3000);

设置超时时间,如果超过此时间,消息发送方没有接收到处理消息则提示用户超时。