通过调用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);
设置超时时间,如果超过此时间,消息发送方没有接收到处理消息则提示用户超时。