У меня есть прямое требование, в котором мне нужно прочитать список элементов (из БД), и вам нужно обработать элементы и после их обработки, он должен быть обновлен в БД ,Решающий шаг весны, Tasklet или Chunks
Я подумываю использовать весенний пакетный чанк с устройством чтения, процессором и писателем. Мой читатель вернет один элемент за раз из списка и отправит его на процессор, и как только обработка закончится, он вернется в Writer, где он обновит базу данных
Возможно, это может быть многопоточность позже с некоторой стоимостью синхронизации в этих методах ,
Здесь я предвижу несколько проблем.
- Количество элементов, подлежащих обработке, может быть больше. Может быть в 10 000 или даже больше.
- В процессоре требуется логический расчет. следовательно, обрабатывает 1 элемент за раз. не уверен в производительности, даже если он многопоточен с 10 потоками.
- Writer может обновлять результаты в БД для этого обработанного элемента. Не знаете, как выполнять пакетные обновления, потому что он всегда имеет только один элемент, обработанный и готовый.
Этот подход подходит для такого рода usecase или что-то еще лучше? Есть ли какой-либо другой способ обработки кучу элементов при одном вызове считывателя, процессор & writer? если это так, мне нужно создать какой-то механизм, где я извлекаю 10 элементов из списка и передаю их процессору? Кажется, что автор обновляет каждую запись, поскольку она приходит, пакетные обновления имеют смысл только в том случае, если писатель получает кучу обработанных элементов. любое предложение?
Пожалуйста, бросьте некоторые огни на этот дизайн для лучшей производительности.
Спасибо,
Большое спасибо за предложение. действительно полезно. – Vimal
мое удовольствие. привет – Cygnusx1
Не могли бы вы посоветовать на http://stackoverflow.com/questions/36391219/bean-property-is-not-readable-or-has-an-invalid-getter-method-does-the-return-t/36391306? ? noredirect = 1 # comment60399566_36391306? –