我正在使用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();
谢谢!
答案 0 :(得分:1)
也许我错了,但它不是消耗的队列,而是进入队列的消息。队列只是一张桌子,不是吗?一旦确定没有生产者或消费者期望它存在,您就可以明确地“DROP TABLE MYQUEUE”。