接続が作成され、セッションが確立された後、一定量のメッセージをキューから取得する必要があります。非同期メッセージリスナーの場合、接続をいつ終了するのか?
public class Consumer {
public static void main(String[] args) throws JMSException {
Consumer consumer = new Consumer(); // creates a connection and session
Destination destination = consumer.getSession().createQueue("JOBS");
MessageConsumer messageConsumer = consumer.getSession().createConsumer(destination);
messageConsumer.setMessageListener(new Listener(job)); // asynchronous listener.
consumer.close(); // closes the connection
}
}
いつ接続を閉じることができますか?上記のようにすると、1つのメッセージだけが読み込まれるためです。 上記のように接続を終了しないと、すべてのメッセージが読み込まれるため、正常ですが接続は開いたままです。