如何使用jboss创建临时jms队列?

时间:2009-10-16 11:37:58

标签: java queue jms

我需要在飞行中创建临时队列。怎么可能?

1 个答案:

答案 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(或读取共享进程队列的侦听器)将响应发送回应答队列。如果客户端因任何原因死亡,其会话将关闭,队列将不再存在。