2011-12-23 11 views
0

私はJavaで以下のコンシューマーコードを使用してOracle AQを使用しています。一度削除されないキューは消費されますか?

キューがまだデータベースに残っている理由。キューは消費された後に削除されるように、どのような呼び出しを行う必要がありますか?

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

私は間違っているかもしれませんが、消費されるキューではなく、消費されるキューに入るメッセージです。キューは単なるテーブルです。あなたが明示的に "テーブルMYQUEUEを落とす"ことができたら、プロデューサやコンシューマが存在しないと確信しています。