Поддержка транзакций для опроса в Spring Integration с max-messages-per-poll
Я новичок в Spring Integration, и у меня возник вопрос относительно использования средств опроса и поддержки транзакций для сообщений в сочетании со значением max-messages-per-poll.
При использовании поллера со следующей конфигурацией
<int:poller fixed-delay="1000" max-messages-per-poll="10">
<int:transactional transaction-manager="SomeDatabaseTransactionManager"/>
</int:poller>
В документации упоминается, что задание опроса будет выдавать 10 сообщений за опрос (или до получения значения null).
Будет ли каждое сообщение выполняться в своей собственной границе транзакции, т. Е. Если одно сообщение не может быть достигнуто до конца границы транзакции, произойдет ли откат только для сообщения с ошибкой или все 10 сообщений, которые были частью опроса, будут откатаны?
Спасибо RC
Заранее извиняюсь за вопрос новичка.
1 ответ
Я ответил на аналогичный вопрос на весенних форумах несколько недель назад...
Суть в том, что каждое сообщение обрабатывается в рамках одной транзакции. max-messages-per-poll
просто означает, что поток опроса (после обработки текущего сообщения в своей собственной транзакции) немедленно пытается обработать новое сообщение, а не ждать следующего опроса, пока не будет достигнут mmpp.