Чан-ориентированная обработка многопоточной - PullRequest
0 голосов
/ 29 мая 2018

Если я определю вот так для пружинной партии:

<chunk reader="chunkReader" 
    writer="chunkWriter" 
    processor="chunkProcessor" 
    commit-interval="#{jobParameters['commitSize']}" />

В обработке, ориентированной на порции этой весенней партии, обрабатываются ли порции параллельно?И обрабатываются ли отдельные элементы в чанках параллельно?

Я прошу в основном узнать, нужно ли мне беспокоиться о многопоточности и условиях гонки.

1 Ответ

0 голосов
/ 29 мая 2018

Если вы не проинструктируете Spring, все будет последовательно.

Если вы решили использовать многопоточность, пакетное задание может использовать абстракцию TaskExecutor в Spring для выполнения каждого чанка в своем собственном потоке.Шаг в задании может быть сконфигурирован для выполнения в пуле потоков, обрабатывая каждый кусок независимо.По мере обработки фрагментов Spring Batch отслеживает, что делается соответствующим образом.Если в каком-либо из потоков возникает ошибка, обработка задания откатывается или прекращается в соответствии с обычными функциями Spring Batch.

См .: https://docs.spring.io/spring-batch/trunk/reference/html/scalability.html

и

Как настроить многопоточность в Spring Batch?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...