我通过使用InitialContext对象将临时队列绑定到jndi,以便可以从需要使用临时队列的线程中查找临时队列。
jndiContext = new InitialContext();connectionFactory = (QueueConnectionFactory) jndiContext.lookup("ConnectionFactory");connection = connectionFactory.createConnection();connection.start();session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);temporaryQueue = session.createTemporaryQueue(); jndiContext.bind(queueJndiName, temporaryQueue); destination = temporaryQueue;responseConsumer = session.createConsumer(destination);responseConsumer.setMessageListener(new MyListener());要获取临时队列,您只需要在需要使用它的代码中查找它:
Context jndiContext = new InitialContext();queueConnectionFactory = (QueueConnectionFactory) jndiContext.lookup("ConnectionFactory");queue = (Queue) jndiContext.lookup(youTemporaryQueueName);


