Где хранить промежуточные результаты весеннего пакетного задания?

Для контекста у меня есть таблица с посылками, которые были доставлены в разные страны доставки. Я хочу узнать среднее количество посылок для каждой страны доставки в будний день (вс, пн, среда и т. д.) За последние 5 недель.

Я должен использовать для этого Spring Batch. Насколько я понимаю, я мог бы получать посылки как партии, чтобы произвести расчет. Но я не смогу написать окончательный результат, пока не обработаю все посылки. Я использую здесь неправильную концепцию партий? Или Spring Batch позволяет сохранять промежуточные результаты?

У меня нет ответа на ваш вопрос, но вы можете использовать один из приемов создания промежуточных таблиц. Выполняйте промежуточные вычисления и сохраняйте результаты в промежуточных таблицах. затем объедините результаты из этих таблиц. Последним шагом будет удаление этих промежуточных таблиц для наведения порядка. В качестве примечания: если бы это было на мое усмотрение, я бы написал SQL-запрос.

Mahmoud Ben Hassine 05.11.2018 10:48
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
106
1

Ответы 1

Пакет Spring просто запускает код для выполнения. Я бы записал результаты в явный пакетная база данных со всеми результатами, связанными с фактическим запуском партии. Таким образом вы не будете спамить производственную базу данных, а также сможете сохранить результаты для дальнейшей документации / отладки. При необходимости вы можете удалить его через определенное время. Таким образом, если эта пакетная база данных выйдет из строя по какой-либо причине, это не повлияет на производственные данные, и вы получите данные, отсортированные по пакетному запуску.

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