Очередь не удаляется после использования? - PullRequest
0 голосов
/ 24 декабря 2011

Я использую 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 Ответ

1 голос
/ 24 декабря 2011

Может быть, я ошибаюсь, но это не очередь, которая получает, это сообщения, которые попадают в очередь, которая потребляется. Очередь просто таблица, нет? Вы можете явно «DROP TABLE MYQUEUE», как только вы уверены, что ни один производитель или потребитель не ожидает его существования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...