通過調用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);
設置超時時間,如果超過此時間,消息發送方沒有接收到處理消息則提示用戶超時。