Очередь JMS получает сообщение?

В документе JMS API сказано:

 public Message receive () выдает исключение JMSException

Получает следующее сообщение производится для этого потребителя сообщения. Этот вызов блокируется на неопределенный срок до тех пор, пока сообщение не будет создано или пока этот потребитель сообщения не будет закрыт.

Если это получение осуществляется в рамках транзакции, потребитель сохраняет сообщение до тех пор, пока транзакция не будет зафиксирована.

Здесь у меня три вопроса: 1. Нужен ли в коде цикл while для получения сообщения? например:

while(true){
    Message msg = queue.receive();
    ....
}
  1. каковы настройки транзакции? как совершить транзакцию? вот так:

     логическое транзакция = ложь;
    session = connection.createQueueSession (транзакция, Session.AUTO_ACKNOWLEDGE);
    
  2. receiveNoWait () поддерживает транзакции? как его использовать?

Спасибо

7
задан Eric Finn 4 November 2015 в 16:02
поделиться