Поддержка транзакций для опроса в 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.

Другие вопросы по тегам