2011-12-23 4 views
0

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

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

Смежные вопросы