一旦消耗队列就不会被删除?

时间:2011-12-23 22:27:08

标签: java oracle

我正在使用Oracle AQ使用Java中的以下使用者代码。

为什么队列仍然保留在数据库中。我需要做什么电话才能在队列消耗后将其删除?

   QueueConnection myqueue = getConnection();  
   Session session = myqueue.createQueueSession(false,  Session.CLIENT_ACKNOWLEDGE);
   myqueue.start();

   queue = ((AQjmsSession) session).getQueue("demo", "myqueue");
   MessageConsumer consumer = session.createConsumer(queue);       
   TextMessage msg = (TextMessage) consumer.receive();
   System.out.println("message" + msg.getText());

   consumer.close();
   session.close();
   myqueue.close();

谢谢!

1 个答案:

答案 0 :(得分:1)

也许我错了,但它不是消耗的队列,而是进入队列的消息。队列只是一张桌子,不是吗?一旦确定没有生产者或消费者期望它存在,您就可以明确地“DROP TABLE MYQUEUE”。