如果我使用以下代码创建发送者和接收者
qsender = qsession.createSender((Queue)msg.getJMSDestination());
qreceiver=qsession.createReceiver((Queue)msg.getJMSDestination());
然后这样做
qsender.send(msg);
它是否只是将消息发送到队列并且它会永远保留在队列中吗?是否需要调用接收方的receive() 方法或实现MessageListener 接口才能将其发送给接收方?
编辑:更多信息
qsender = qsession.createSender((Queue)msg.getJMSDestination());
qreceiver=qsession.createReceiver((Queue)msg.getJMSDestination());
temp1 = qsession.createTemporaryQueue();
responseConsumer = qsession.createConsumer(temp1);
msg.setJMSReplyTo(temp1);
responseConsumer.setMessageListener(responseListener);
msg.setJMSCorrelationID(msg.getJMSCorrelationID()+i);
qsender.send(msg);
在上面的代码中,临时队列是做什么用的?是为了接收消息吗?是接收器吗?如果是,有什么用msg.setJMSReplyTo(temp1)
?