2013-05-01 1 views
1

Мне нужно получить доступ к объекту как в itemProcessor, так и в itemWriter, но я не хочу его останавливать в executionContext. Я бы прочитал этот объект на этапе предварительной обработки.
Каков наилучший способ сделать это?Spring batch - нужно использовать объект в itemProcessor/itemWriter, но не сохраняйте его

До сих пор, что у меня есть - я поставил объект в jobExecutionContext, то я был очерчен круг моего itemProcessor на «шаг» и связать свойство itemProcessor к "#{stepExecution.jobExecution.executionContext}". Это дает мне доступ к моему объекту. Но я застрял в двух проблемах с этим решением:

  1. Когда я удаляю объект из контекста, чтобы он не оставался постоянным, он должен быть после того, как все элементы выполнены.
  2. Мой объект может быть огромным и, кажется, колонка для контекста имеет размер 2500.

Это хорошее решение, и если да, то как я могу решить две проблемы, упомянутые выше. И если нет, есть ли хороший способ сделать это весенней партией или кэшировать лучший способ пойти?

Спасибо.

+0

Просто обновить то, что я закончил делать - я создал объект кеша и использовал идентификатор выполнения задания как ключ кеша. – enkay

ответ

-1

Выполнение/работа/шаг ... Использование контекста использованием весенней партии должно сохраняться в метаданных весенней партии для перезапускаемой функции, чтобы назвать ее!

То, что я делал ранее, создает нормальный весенний боб с объектом yo need и просто @autowired его в вашем процессоре и писателе!

Работа выполнена.

+0

Хорошо, спасибо за ответ. – enkay

 Смежные вопросы

  • Нет связанных вопросов^_^