我需要在飞行中创建临时队列。怎么可能?
答案 0 :(得分:3)
从您的jms Queue / TopicSession对象:请参阅QueueSession javadoc。
您需要在临时队列的生命周期内保持会话打开。
典型用法是客户端使用消息的reply-to字段中的临时队列打开会话并将消息放入共享处理队列。例如:(伪代码)
Queue queue = session.createQueue("shared");
Queue responseQueue = session.createTemporaryQueue();
Message message = session.createMessage();
message.setJMSReplyTo(responseQueue);
...
session.commit();
...
MessageConsumer responseConsumer = session.createConsumer(responseQueue);
Message response = responseConsumer.receive();
...
session.close();
MDB(或读取共享进程队列的侦听器)将响应发送回应答队列。如果客户端因任何原因死亡,其会话将关闭,队列将不再存在。