Код ...Насколько надежным является откат JMS?
@Transactional
@JmsListener(destination = "QueueA")
public void process(String input) {
doSomethingWhichMayThrowException(input);
}
Рассмотрим следующую ситуацию где ...
- Сделка запускается (с использованием Spring @Transactional аннотацию)
- Persistent сообщение JMS считывается из QueueA (использование очереди диска как хранилище сообщений)
- Диск заполнен и не принимает никаких операций записи
- Исключение происходит, и транзакция откатывается
потерял ли сообщение?
Если это не то, как сообщение считывается из очереди по транзакции (шаг 2)?
Используется ли какой-то браузер очереди, поэтому сообщение читается из очереди, но не используется?
зависит от поставщика, но обычно он работает с ack от драйвера до messagebroker. –